/*
Theme Name: 	Koria Hair 2026
*/

/* Defaults */

div,
article,
section,
header,
footer,
nav,
li					{ position:relative;}
.group:after 		{ display:block; height:0; clear:both; content:"."; visibility:hidden; }
body 				{ background:#121212; overflow-x: hidden;}
::-moz-selection 	{ background:#FBC83D; color:#111; }
::selection 		{ background:#FBC83D; color:#111; }

img {max-width: 100%; height: auto;}

.clearfix {
  overflow: auto;
  zoom: 1;
}

*, *::before, *::after {
  box-sizing: border-box;
}

nav, header, section, footer {width: 100%; display: block; clear: both; float: left; box-sizing: border-box;}

/* nav {background: #171717; color: white; width: 100%; position: fixed; top: 0; left: 0; right: 0; margin: auto; z-index: 99; -webkit-transition: all 0.3s ease; transition: all 0.3s ease;} */

nav {color: white; width: 100%; position: fixed; top: 0; left: 0; right: 0; margin: auto; z-index: 99; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; background: #1D1D1D;}

nav.headroom--not-top {background: #1D1D1D;}

/* SECTION COLOURS */

.dark {background-color: #1D1D1D;}
.cream {background-color: #F5EFE6;}
.light {background-color: #FFFDF8;}
.gold {background-color: #C9A96E;}
.logoboard {background-color: #000;}

.container {width: 100%; max-width: 1400px; margin: auto; display: block; clear: both; padding-left: 40px; padding-right: 40px;}

.narrow-container {width: 100%; max-width: 940px; margin: auto; display: block; clear: both; padding-left: 40px; padding-right: 40px;}

.flex-container {display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; align-content: center; gap: 48px;}

.logoboard {width: 100%; display: block; clear: both; border-radius: 16px; text-align: center; padding: 48px 32px; float: left;}

.imagebox {width: 100%; height: 440px; border-radius: 16px; margin-bottom: 16px; float: left; display: block; clear: both; background-position: 50% 50% !important; background-repeat: no-repeat; background-attachment: scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;}

section#services .flex-container {gap: 32px;}
section#hairdressers .flex-container {gap: 32px;}

.flex-item {
  flex: 1;
  align-self: stretch;
  align-items: center;
  padding: 1rem;
}

nav .flex-container {justify-content: space-between;}
nav .flex-item {padding: 0;}

.flex-item ul {margin-top: 0;}

.nav-container {
  display: grid;
  /* Side columns share remaining space equally (1fr), middle auto-fits its width */
  grid-template-columns: 1fr auto 1fr; 
  width: 100%;
  align-items: center;
  box-sizing: border-box;
  height: 80px;
}

.left-item {
  justify-self: start; /* Aligns to the far left edge */
  /* No width here: it automatically shrinks to fit its content */
}

.middle-item {
  justify-self: center;/* Centers it perfectly in the middle column */
}

.right-item {
  justify-self: end;   /* Aligns to the far right edge */
  /* No width here: it automatically shrinks to fit its content */
}

header {height: auto; background: radial-gradient(#2F2C25, #1D1D1D);}
header {overflow: hidden; padding: 80px 0 0;}

.hero-content {padding-top: 96px; padding-bottom: 96px;}

.image-content {
  background-size: cover; /* Ensures the image fills the entire column without stretching */
  background-position: center; /* Centers the focus of the image */
  background-repeat: no-repeat;
}

section {color: #1D1D1D;}

.full-padding {padding-top: 82px; padding-bottom: 82px;}
.hero-section {padding-top: 160px; padding-bottom: 82px;}

section#contact {color: #FFFDF8;}

.contact-row {display: block; float: left; clear:both; width: 100%; margin-bottom: 16px;}
.contact-icon {float: left; width: 18px; margin-right: 8px;}
.contact-text {float: left; width: auto;}
.contact-text p {margin-bottom: 0 !important;}

.service {padding: 32px; border-radius: 16px;}

.slider img {width: 100%; max-width: 100%; height: auto;}

#mobilenav {display: none; background: #111; width: 100%; height: 100%; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 99; text-align: center; padding-top: 40px;  -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out;}
#mobilenav a {font-size: 24px; display: block; height: 50px; float: left; width: 100%; text-decoration: none; color: white;}
#mobilenav a:hover {color: #FEDD9F; text-decoration: none;}
.visiblenav {display: block !important;}

#mobilenav a.closenav {margin-top: 40px; font-size: 18px; color: #FEDD9F;}

ul.navigation {list-style: none; text-align: center; font-size: 0;}
ul.navigation li {display: inline;}
ul.navigation li a {font-size: 16px; line-height: 16px; padding: 34px 6px 34px 6px; display: block; color: white;}
ul.navigation li a:hover {color: #FEDD9F; text-decoration: none;}

.open-mobile a {border: 1px solid white; padding: 12px 20px !important; border-radius: 34px;}

.headroom--pinned {-ms-transform: translateY(0);-webkit-transform: translateY(0);transform: translateY(0);}
.headroom--unpinned {-ms-transform: translateY(-88px); -webkit-transform: translateY(-88px); transform: translateY(-88px);}

.header-image {height: auto; width: 100%; text-align: center; overflow: hidden; padding: 12em 0 14em; background-position: 50% 50% !important; background-repeat: no-repeat; background-attachment: scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;}

header.sub {height: auto; width: 100%; text-align: center; background-color: #111; overflow: hidden; padding: 9em 0 8em;}

.header-gradient {position: absolute; bottom: 0; left:0; right: 0; width: 100%; display: block; height: 240px; background: linear-gradient(to top, rgba(18,18,18,1), rgba(18,18,18,0));}

.header-bg {z-index: 3; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; width: 100%; height: 100%; background-position: 50% 50% !important; background-repeat: no-repeat; background-attachment: scroll; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; opacity: 0.6; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; filter: alpha(opacity=60); -moz-opacity: 0.60; -khtml-opacity: 0.60;}

.home .header-bg {display: none;}

.some-icons img {width: 36px; height: 36px; display: inline-block; margin: 16px 4px; float: right;}

.logo {width: 148px !important; height: auto; max-width: 148px !important;}

.hinnasto {width: 580px; display: none; position: absolute; bottom: -25px; left: 0; right: 0; margin: auto; padding: 30px; background: #000; color: white; text-align: center; -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out;}

.hinnasto a {font-size: 2em; line-height: 1em; width: 100%; padding: 80px 20px; display: block; border: 1px solid white; font-weight: 600; text-transform: uppercase; -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out;}

.tuote {display: inline-block; font-size: 0; width: 135px; height: 120px; background: #000; padding: 14px; text-align: center; margin: 5px; vertical-align: top; z-index: 2; box-sizing: border-box; border: 1px solid #000; -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; -o-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out;}

.tuote img {max-height: 100%; max-width: 100%; vertical-align: middle;}

.tuote:hover {border: 1px solid #A48750;}

.vertical {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.service-icon {height: 32px; width: auto; margin-bottom: 16px;}

.section-bg {margin: auto; width: 100%; height: 45vh; background-position: 50% 50% !important; background-repeat: no-repeat; background-attachment: fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;}



section#menu {background:#371226; width: 100%; padding: 100px 0 100px 0; display: none;}
section#menu .caption {margin-top: -45px;}


.reveal {opacity: 1.0 !important; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" !important; filter: alpha(opacity=100) !important; -moz-opacity: 1.0 !important; -khtml-opacity: 1.0 !important;}

footer {padding: 0 0 0 0;}

.text-center {text-align: center;}
.text-left {text-align: left;}

.caption {position: absolute; text-align: center; left: 0; margin: 0 auto; right: 0; top: 50%; width: 85%; max-width: 920px; line-height: 1em; z-index: 30; color: white; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.menu {position: absolute; left: 30px; top: 30px; width: 40px; height: 29px; z-index: 10; display: block; background: url('img/menu.svg') no-repeat 50% 50%; cursor: pointer;}

.close {background: url('img/menu-close.svg') no-repeat 50% 50% !important; cursor: pointer;}

.open {width: 50px; height: 50px; background: #371226 url('img/open.svg') no-repeat 50% 50%; display: block; position: absolute; bottom: 0; right: 0; z-index: 11;}
.open-close {background: #111 url('img/open-close.svg') no-repeat 50% 50%;}

.table-container {
  width: 100%;
  overflow-x: auto; /* Keeps it responsive */
  box-sizing: border-box;
  margin-bottom: 16px; 
  
  /* Add these three lines to round the corners */
  border-radius: 14px;
  overflow: hidden; 
  border: 1px solid #F5EFE6; /* Optional: adds an outer border that follows the curve */
}

.custom-table {
  width: 100%;
  border-collapse: collapse; /* Keep collapse! It won't break the container's radius */
  table-layout: fixed;
  font-family: sans-serif;
  background-color: #ffffff;
}

table, tbody {width: 100%; max-width: 100%; display: table;}
table tbody {}
table td {word-break: break-all;}
th {}
tbody {width: 100% !important;}
table, tr {font-weight: 400; text-align: left;}
tr {font-weight: 400; font-size: 16px; width: 100%; border-bottom: 1px solid #F5EFE6;}
th {font-weight: 400;}

th,td {padding: 12px;}

tr:first-child th {
  font-family: "Georgia", "Lora", sans-serif; font-size: 18px; font-weight: 600; min-height: 50px; background: #F5EFE6;}

.restricted-column {
  width: 140px !important;
  max-width: 140px !important;
  text-align: right;
}

.service .icon {
  width: 26px;
  height: 26px;
  stroke: #C9A96E;
  flex-shrink: 0;
  margin-bottom: 8px;
}

/* Remove the bottom border from the very last row so it doesn't clash with the wrapper border */
.custom-table tbody tr:last-child td {
  border-bottom: none !important;
}

.Ei {display: none;}

/* --- ACCORDION Container --- */
.accordion-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px; /* Space between the blocks */
  margin-bottom: 32px;
  margin-top: 12px;
  float: left;
}

/* --- Individual Accordion Item --- */
.accordion-item {
  background-color: #F5EFE6;
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

/* --- Header Button --- */
.accordion-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 26px 32px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  color: #222222;
}

.accordion-header h3 {margin: 0;}

.header-left {
  display: flex;
  align-items: center;
  gap: 18px;
}

.accordion-header .title {
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

/* Icons */
.accordion-header .icon {
  width: 26px;
  height: 26px;
  stroke: #C9A96E;
  flex-shrink: 0;
  display: none;
}

.accordion-header .arrow {
  width: 20px;
  height: 20px;
  stroke: #C9A96E;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
}

/* Arrow state change: turns down when item is open */
.accordion-item.active .accordion-header .arrow {
  transform: rotate(90deg);
}

/* --- Content Panel (Smooth slide animation) --- */
.accordion-content {
  display: grid;
  grid-template-rows: 0fr; /* Starts completely collapsed */
  transition: grid-template-rows 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden; /* ◄ ADD THIS: Hides the text when the row is 0fr */
}

.accordion-item.active .accordion-content {
  grid-template-rows: 1fr;
}

/* --- Inner Content Wrapper --- */
.content-inner {
  min-height: 0; /* Allows the grid track to collapse completely to 0 */
}

/* --- New Padding Wrapper --- */
.content-padding {
  padding: 0 32px 32px 32px; /* Your perfect padding lives safely here */
  color: #444444;
  opacity: 0.9;
}

.content-inner p {
  margin: 0 0 16px 0;
}

.content-inner p:last-child {
  margin-bottom: 24px;
}

/* Typography */
/*

14 / 16	= 		0.875em 		(14px equivalent)
16 / 16	= 		1em 			(16px equivalent)
18 / 16 = 		1.125em 		(18px equivalent)
21 / 16 = 		1.3125em 		(21px equivalent)
24 / 16 = 		1.5em 			(24px equivalent)
30 / 16 = 		1.875em 		(30px equivalent)

*/

body {
  font-family: "Inter", "Arial", sans-serif;
  font-style: normal;
  
  /* Enables fine-tuning of the font shape depending on the size */
  font-optical-sizing: auto; 
  
  /* Default body text weight (Regular) */
  font-weight: 400; 
}

h1, h2, h3, h4 {
  font-family: "Georgia", "Lora", sans-serif;
  font-style: normal;
  font-optical-sizing: auto; 
  font-weight: 400; 
}

.whitetext {color: #F5EFE6;}
.blacktext {color: #111111;}
.goldtext {color: #C9A96E;}

.dark p {color: #F5EFE6;}

section#contact p {margin: 0 0 16px;}

.button-container {width: 100%; display: block; clear: both; float:left; text-align: center; margin-top: 32px;}
.button-container a {margin: 0 4px;}

.button-primary {border-radius: 30px; background: #C9A96E; padding: 14px 28px; font-size: 16px; color: #111111; line-height: 16px; font-weight: 600; display: inline-block; -webkit-transition: ease-in-out 0.3s; -moz-transition: ease-in-out 0.3s; -o-transition: ease-in-out 0.3s; transition: ease-in-out 0.3s;}

.button-primary:hover {background: #FEDD9F; color: #111111; text-decoration: none;}

.button-secondary {border-radius: 30px; border: 1px solid #111111; padding: 14px 28px; font-size: 16px; color: #111111; line-height: 16px; font-weight: 600; display: inline-block; -webkit-transition: ease-in-out 0.3s; -moz-transition: ease-in-out 0.3s; -o-transition: ease-in-out 0.3s; transition: ease-in-out 0.3s;}

.button-secondary:hover {background: #111111; color: white; text-decoration: none;}

.button-inverted {border: 1px solid white; border-radius: 30px; padding: 14px 28px; font-size: 16px; color: white; line-height: 16px; font-weight: 600; display: inline-block; -webkit-transition: ease-in-out 0.3s; -moz-transition: ease-in-out 0.3s; -o-transition: ease-in-out 0.3s; transition: ease-in-out 0.3s;}

.button-inverted:hover {background: #F5EFE6; color: #111111; text-decoration: none;}

.button-naked {display: inline-block; padding: 14px 28px; font-size: 16px; color: white; line-height: 16px; font-weight: 600; text-decoration: underline; -webkit-transition: ease-in-out 0.3s; -moz-transition: ease-in-out 0.3s; -o-transition: ease-in-out 0.3s; transition: ease-in-out 0.3s;}

body,
input,
textarea 			{ color: white; font-size: 16px;}

h1, 
h2, 
h3, 
h4, 
h5, 
h6 					{ font-weight:normal; clear: both; display: block; float: left; width: 100%;}

h1 {font-size: 52px; line-height: 60px; margin: 0 0 24px 0;}

h2 {font-size: 40px; line-height: 52px; margin: 0 0 16px 0;}

h3 {font-size: 22px; line-height: 30px; margin: 0.0 0 12px; color: font-weight: 400;}

header h3 {font-size: 1.65em; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; }

h3.news-title {font-size: 22px; line-height: 1.2em; margin: 0.5em 0 0.5em; color: white; font-weight: 700;}

h4 {font-size: 1.5em; color: #FBC83D; line-height: 1.15em; margin: -1em 0 1.5em;}

h5 {font-size: 12px; line-height: 18px; margin: 0 0 15px; text-transform: uppercase; letter-spacing: 1px;}

header p {font-weight: 400; font-size: 16px; line-height: 26px; margin-top: 0px; color: #F5EFE6;}

time {font-size :14px !important; color: #FBC83D !important;}

.news p {color: #CBCBCB;}

.like {font-size: 3.25em; font-weight: 600; text-transform: uppercase; line-height: 1em;}

.info-title h5 {margin-top: 13px;}

.yellow-title {color: #FBC83D;}

ol, ul, p {clear: both; display: block; float: left; width: 100%; box-sizing: border-box;}

p {font-size: 16px; line-height: 26px; margin: 8px 0 20px 0; color: #444444;}

p.small-font {font-size: 14px; line-height: 24px;}

p.lead {font-size: 20px;}

strong {font-weight: 700 !important;}

article p {font-size: 16px; text-align: center;}

#contact a {color: #F5EFE6;}

a {color: #C9A96E; text-decoration: none;}
a:hover, a:focus {color: #C9A96E; text-decoration: underline;}

.content-link {text-decoration: underline;}

.staff-block a {color: #371226; text-decoration: underline;}

h3 a {color: #B4ACA6; text-decoration: none;}
h3:hover a {color: white; text-decoration: none;}

#references h3 {color: #B4ACA6;}

ul.navigation {list-style: none; padding: 0; margin: 0; text-align: center;}
ul.navigation li {padding: 0 12px 0 12px; font-size: 1.4em; display: inline-block; font-weight: normal; color: #beaca6; -webkit-transition: all 0.3s ease-in-out 0.1s; -moz-transition: all 0.3s ease-in-out 0.1s; -o-transition: all 0.3s ease-in-out 0.1s; transition: all 0.3s ease-in-out 0.1s; cursor: pointer;}

ul.navigation li:hover {color: white;}

small, time {color: white; display: block; clear: both; font-size: 11px; text-transform: uppercase; letter-spacing: 0.25px;}

footer small {padding: 22px 0;}

.type-title {font-size: 0.8em; line-height: 1em; font-weight: normal; text-transform: uppercase; letter-spacing: 1px;}

footer p, #menu p {margin: 5px 0 15px 0; font-size: 1.25em;}

.btn-top {display: block; line-height: 16px; color: #111 !important; font-size: 16px; font-weight: 600; width: 100%; padding: 22px;}
.btn-top:hover {color: #111 !important; text-decoration: none;}

.btn {
	background: #F7C946;
	-moz-user-select: none;
	border: 0;
    border-radius: 2px;;
    color: #222;
    cursor: pointer;
    clear: both;
    display: inline-block;
    font-size: 16px;
    font-weight: normal;
    line-height: 16px;
    margin: 15px 0 10px 0;
    padding: 6px 14px;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    white-space: nowrap;
    -webkit-appearance: none;
    -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
}

.btn-large {font-size: 1.25em; line-height: 1em; padding: 12px 26px 12px 26px; margin: 15px 4px 10px 4px;}

.btn:hover {text-decoration: none; color: #222; background: white;}

.section-bg .btn {font-size: 22px; padding: 16px 30px; margin: 0; color: #222; background: white;}

article .btn {border: 2px solid #371226; color: #371226;}
article .btn:hover {background: #371226; color: white;}

/* Media queries */


@media screen and (min-width:1480px) {

}


@media screen and (max-width:1366px) {
	.imagebox {height: 380px;}
	.margin-fix {margin-right: -40px;}
}

@media screen and (max-width:1200px) {
}

@media screen and (max-width:992px) {
	body,
	input,
	textarea { color: white; font-size: 14px; }
	.imagebox {height: 300px;}
	h1 {font-size: 46px; line-height: 54px;}
	h2 {font-size: 32px; line-height: 44px;}
	h3 {font-size: 20px; line-height: 28px;}
}

@media screen and (max-width:768px) {
	.insta-block {width: 25%;}
	.flex-container {flex-direction: column; gap: 32px;}
	.image-content {height: 300px; width: 100%;}
	.container {padding-left: 20px; padding-right: 20px;}
	.narrow-container {padding-left: 20px; padding-right: 20px;}
	.flex-item {flex: auto;}
	.imagebox {height: 480px;}
	.full-padding {padding-top: 56px; padding-bottom: 56px;}
	.hero-section {padding-top: 120px; padding-bottom: 52px;}
	.tuote {width: 140px; height: 110px;}
	.hero-content {padding-top: 56px; padding-bottom: 56px;}
	h1 {font-size: 42px; line-height: 50px;}
	p {font-size: 14px; line-height: 22px;}
}

@media screen and (max-width:600px) {
	.insta-block {width: 33.333%;}
	footer {text-align: center;}
	.open-mobile {float: right; text-align: right;}
	.service {padding: 24px;}
	.button-container a {margin: 4px 4px;}
	.restricted-column { width: 100px !important; max-width: 100px !important;}
}