/*
Theme Name: lak
Description: 
Version: 1.0.0
Text Domain: lak
*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    background-color: var(--main-bg-color);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

main {
	display: block;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

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

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

/*--------------------------------------------------------------
# Box sizing
--------------------------------------------------------------*/

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

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/

:root {
    /* Layout */
	--main-max-width: 1600px;	
	--main-padding-x: 2rem;
	--main-padding-y: 0;
    --main-bg-color: var(--color-white);
	
	/* Header */
	--header-max-width: var(--main-max-width);
	--header-height: 70px;
	--header-bg-color:	var(--color-white);
	--header-padding-x: var(--main-padding-x);
	--header-padding-y: var(--main-padding-y);
	--header-logo-max-height: 25px;
	--header-icon-size: 30px;
	--header-logo-max-height-mobile: calc(var(--header-logo-max-height) * 0.75);
	--header-icon-size-mobile: calc(var(--header-icon-size) * 0.9);
	
	/* Header Primary Menu */
	--header-menu-primary-font-family: var(--font-family-text);
	--header-menu-primary-font-size: 1rem;
	--header-menu-primary-font-weight: 500;
	--header-menu-primary-color: var(--color-black);
	--header-menu-primary-text-transform: none;
	--header-menu-primary-letter-spacing: 0;
	
	/* Search Overlay */
	--search-overlay-padding-x: 1.5rem;
	--search-overlay-bg: var(--color-white);
	--search-overlay-color: var(--color-black);
	--search-input-font-size: 1rem;
	--search-input-font-weight: 500;
	--search-input-placeholder-color: #c1c1c1;
	--search-icon-size: 25px;
	
	/* Topbar */
	--topbar-bg-color: var(--color-black);
	--topbar-padding-x: var(--main-padding-x);
	--topbar-padding-y: 0.75rem;

	/* Topbar Message */
	--topbar-msg-color: var(--color-white);
	--topbar-msg-font-size: 0.7rem;
	--topbar-msg-font-weight: 500;
	--topbar-msg-text-transform: uppercase;
	--topbar-msg-letter-spacing: 0.05em;
	
	/* Topbar Location */
	--topbar-location-font-size: 0.7rem;
	--topbar-location-font-weight: 400;
	--topbar-location-color: var(--color-white);
	--topbar-location-text-transform: uppercase;
	--topbar-location-letter-spacing: 1px;
	--topbar-location-icon-size: 1.25rem;
	
	/* Hamburger Sidebar */
	--hamburger-sidebar-width: 400px;
	--hamburger-overlay-bg: rgba(0, 0, 0, 0.5);
	--hamburger-sidebar-bg: var(--color-white);
	--hamburger-sidebar-align: center;
	--hamburger-sidebar-item-gap: 2.5rem;
	
	/* Hamburger Menu */
	--hamburger-menu-font-size: 1.25rem;
	--hamburger-menu-font-weight: 600;
	--hamburger-menu-color: var(--color-black);
	--hamburger-menu-text-transform: uppercase;
	--hamburger-menu-letter-spacing: 1px;
	--hamburger-menu-gap: 1.15rem;

	/* Hamburger Account */
	--hamburger-account-font-size: 1rem;
	--hamburger-account-font-weight: 400;
	--hamburger-account-text-transform: none;
	--hamburger-account-letter-spacing: 1px;
	--hamburger-account-color: var(--color-black);
	--hamburger-account-item-gap: 1.5rem;
	
	/* Hamburger Social */
	--hamburger-social-font-size: 1.75rem;
	--hamburger-social-font-weight: 600;
	
	/* Footer */
	--footer-max-width: var(--main-max-width);
	--footer-bg-color:	var(--color-white);
	--footer-padding-x: var(--main-padding-x);
	--footer-padding-y: var(--main-padding-y);
	
	/* Footer WhatsApp Float */
	--footer-whatsapp-float-color: var(--color-white);
    --footer-whatsapp-float-bg: var(--color-black);
    --footer-whatsapp-float-icon-size: 1.6rem;
    --footer-whatsapp-float-icon-weight: 400;
	
	/* Typography */
    --font-family-title: 'Georgia', serif;
    --font-family-text: 'Inter', system-ui, sans-serif;
	
    /* Colors */
    --color-black: #0a0a0a;
    --color-white: #ffffff;
    --color-gray-soft: #f3f3f3;
    --color-gray-regular: #9e9e9e;
    --color-gray-hard: #6e6e6e;

    /* Palette */
    --color-palette-1: #1a1a2e;
    --color-palette-2: #2d6a4f;
    --color-palette-3: #e9c46a;
    --color-palette-4: #f4f1de;
    --color-palette-5: #e76f51;

    /* Titles */
    --heading-font-family: var(--font-family-title);
    --heading-font-weight: 700;
    --heading-color: var(--color-black);
    --heading-line-height: 1.2;

    /* Buttons */
    --btn-font-family: var(--font-family-text);
    --btn-font-size: 0.9rem;
    --btn-font-weight: 600;
    --btn-color: var(--color-white);
    --btn-padding-y: 0.6em;
    --btn-padding-x: 1.2em;
    --btn-bg: var(--color-palette-1);
    --btn-border: 1px;
    --btn-border-color: var(--color-palette-1);
    --btn-border-radius: 4px;
    --btn-hover-bg: var(--color-palette-2);
    --btn-hover-color: var(--color-white);
    --btn-hover-border-color: var(--color-palette-2);
    --btn-transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

@media (max-width: 768px) {
    :root {
        --header-height: 60px;
		--main-padding-x: 1rem;
		--btn-font-size: 0.8rem;
        --btn-padding-y: 0.5em;
        --btn-padding-x: 1em;	
		--hamburger-sidebar-width: 100%;
    }
}

/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/
.lak-layout {
    max-width: var(--main-max-width);
    padding-left: var(--main-padding-x);
    padding-right: var(--main-padding-x);
    margin-left: auto;
    margin-right: auto;
}

/*--------------------------------------------------------------
# Titles
--------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {
    font-family: var(--heading-font-family);
    font-weight: var(--heading-font-weight);
    color: var(--heading-color);
    line-height: var(--heading-line-height);
}

h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.5rem); }
h4 { font-size: clamp(1rem, 2vw, 1.25rem); }
h5 { font-size: clamp(0.9rem, 1.5vw, 1rem); }
h6 { font-size: clamp(0.8rem, 1vw, 0.875rem); }

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/

.lak-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wp-block-button__link {
    display: inline-block;
    font-family: var(--btn-font-family);
    font-size: var(--btn-font-size);
    font-weight: var(--btn-font-weight);
    color: var(--btn-color);
    background: var(--btn-bg);
    border: var(--btn-border) solid var(--btn-border-color);
    border-radius: var(--btn-border-radius);
    padding: var(--btn-padding-y) var(--btn-padding-x);
    cursor: pointer;
    text-decoration: none;
    transition: var(--btn-transition);
}

.lak-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wp-block-button__link:hover {
    background: var(--btn-hover-bg);
    color: var(--btn-hover-color);
    border-color: var(--btn-hover-border-color);
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.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;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/*--------------------------------------------------------------
# WordPress core classes
--------------------------------------------------------------*/

.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption-text {
	text-align: center;
}

embed,
iframe,
object {
	max-width: 100%;
}