/*
	Theme Name: Akaroa Cooking School
	Theme URI: http://www.akaroacooking.co.nz
	Description: A responsive theme for WordPress
	Author: Ioan Nicholls - Warp Speed Computers
	Author URI: http://www.warp.co.z
	License: GNU General Public License version 3.0
	License URI: http://www.gnu.org/licenses/gpl-3.0.html
	Version: 1.8.0
	
*/

@font-face {
    font-family: "sofia-pro";
    src: url("fonts/sofia-pro-bold.woff2") format("woff2");
    font-display: auto;
    font-style: normal;
    font-weight: 700;
    font-stretch: normal;
    ascent-override:92%;
}

@font-face {
    font-family: "sofia-pro";
    src: url("fonts/sofia-pro-regular.woff2") format("woff2");
    font-display: auto;
    font-style: normal;
    font-weight: 500;
    font-stretch: normal;
    ascent-override:92%;
}

@font-face {
    font-family: "sofia-pro";
    src: url("fonts/sofia-pro-semibold.woff2") format("woff2");
    font-display: auto;
    font-style: normal;
    font-weight: 600;
    font-stretch: normal;
    ascent-override:92%;
}

@font-face {
    font-family: 'sofia-pro';
    src: url("fonts/sofia-pro-light.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
}


@font-face {
    font-family: 'eightiescomeback';
    src: url('fonts/eightiescomeback-semibold-webfont.woff2') format('woff2'),
        url('fonts/eightiescomeback-semibold-webfont.woff') format('woff');
    font-weight: 600;
    font-style: normal;

}

@font-face {
    font-family: 'eightiescomeback';
    src: url('fonts/eightiescomeback-regular-webfont.woff2') format('woff2'),
        url('fonts/eightiescomeback-regular-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}


* {
    font-family: 'sofia-pro';
    --font-fancy: 'eightiescomeback';
}

.sofia-pro {
    font-family: 'sofia-pro';
}

.eighties-comeback {
    font-family: var(--font-fancy);
}





/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0;
    /* <-- Apparently some margin are still there even though it's hidden */
}

input[type=number] {
    -moz-appearance: textfield;
    /* Firefox */
}

select {
    background: url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>") no-repeat;
    background-position: calc(100% - 0.75rem) center !important;
    -moz-appearance: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    padding-right: 2rem !important;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

p {
    line-height: 1.4;
}

a {
    color: inherit;
}

strong {
    font-weight:700;
}

.sr-only {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    /* 1 */
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    /* 2 */
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
    /* 3 */
}





:root {
    height: 100%;
    font-family: 'sofia-pro';
    --primary: #09274B;
    --secondary: #BADBD0;
    --tertiary: #F4907C;

    --secondary-dark: #8FBEAE;
}

body {
    min-height: 100%;
    margin: 0;
}


.btn,
button.button {
    background-color: var(--primary);
    color: #fff;
    border: none;
    padding: 0.75em 3em;
    border-radius: 1.5em;
    font-size: 1rem;
    font-weight: 400;
}

a.has-primary-background-color:hover, button.button:hover, .btn:hover {
    background-color: #04172E !important;
}

a.has-secondary-background-color:hover {
    background-color: #8FBEAE !important;
}

a.has-tertiary-background-color:hover {
    background-color: #DD7763 !important;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--primary);
}




.site-header {
    position: relative;
    padding: 2rem 0;
    z-index: 100;
}

.site-header .header-hero-image {
    position: absolute;
    height: 100%;
    width: 100%;
    inset: 0;
    object-fit: cover;
    z-index: -1;
}



.site-header .menu-primary-container a {
    text-decoration: none;
    color: inherit;
}

.site-header .menu-primary-container a:hover {
    text-decoration: underline;
}



.site-header .menu-primary-container ul>*:has(a[href="/"]) a {
    display: block;
    width: clamp(150px, 20vw, 250px);
    height: 55px;
    color: transparent;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 258.6 53.2'%3E%3Cg data-name='Group 243'%3E%3Cg fill='%2309274B' data-name='Group 242'%3E%3Cpath d='M129.1 24.1c-1-1.9.4-3 .5-4.7a38.4 38.4 0 0 1-15-5.8l-7.6 5.2c-.8.6-1.7 1.8-2.6 1-.6-.5-.7-1.8-.7-2.7V7.6l.1-2.5c1.4-.7 2 0 2.7.6l7.7 5.7 13-6.2-1.6-3.1a7.5 7.5 0 0 1-.3-2 5.1 5.1 0 0 1 2 0c2.5 1 5 2.2 7.4 3.4l8 4a22.5 22.5 0 0 1 7.4 5.2c1.2 1.3 1 2-.5 2.8a21.7 21.7 0 0 1-4.1 1.8 71 71 0 0 0-14 6 18.7 18.7 0 0 1-2.4.8Zm7.3-16.7a26 26 0 0 0-20 5.3 35.1 35.1 0 0 0 21.2 5.2l-1.4-2.7h-4.8c-2-.1-2.9-1-3-2.8 0-1.6 1-2.6 3-2.8a9 9 0 0 1 2.1 0c1.7.2 2.5-.5 2.9-2.2Zm12.4 6.8a18 18 0 0 0-10-6.3c-3 3.3-2.7 5.1 1.3 9.6Zm-43.2-6.9v10.4l7.3-5.2Zm29.8 6c-1.2-2.4-2.8-2.6-5.3-1 1.3 2.3 3.2 1.1 5.3 1Zm-7-11-.6.4 1.6 2.5h3.9v-.4Z' data-name='Path 104'/%3E%3Cpath d='M192.6 37.7c-1.4 1.4-1.4 2.8-1.5 4.3-.1 1.4-1.4 2.2-2.8 2.6l-2.9.5a14.8 14.8 0 0 0 2 1.2c1 .3 2 .4 3 .8a2.3 2.3 0 0 1 1.5 3c-.3 1.7-2.2 3-4.7 3-2.7.2-4.6-.7-4.9-2.6a3.8 3.8 0 0 1 .8-2.7c1.4-1.6 1.8-3 .4-4.7a3 3 0 0 1 0-3.7 4 4 0 0 1 3.7-1.7h5.4Zm-5.2 14.1c.7-.5 2.2-1 2.4-1.7.5-1.4-1-1.6-2.1-2l-1.2-.3a1.8 1.8 0 0 0-2.3 1.4c-.3 1 .4 1.7 1.3 2a15.6 15.6 0 0 0 1.9.6Zm2-10.6a2 2 0 0 0-2.3-2 2.3 2.3 0 0 0-2.3 2 2.3 2.3 0 0 0 2.2 2 2.3 2.3 0 0 0 2.4-2Z' data-name='Path 105'/%3E%3Cpath d='M47.7 33.2c.5.2 1.3.3 1.5.8a20.4 20.4 0 0 1 1.7 3.2l4.3 10.3c-.2.2-.6.7-1 .7a2.2 2.2 0 0 1-1.4-.9c-.7-1-1.2-2.3-1.8-3.7h-5.4l-1.9 4.6c-1.2 0-2-.4-1.5-1.8a32.4 32.4 0 0 1 1.5-3.3l2.5-5.2 1.5-4.7Zm2.6 8.6a10.4 10.4 0 0 0-2-4.3l-1 2.2-.7 2.1 2 .1 1.7-.1Z' data-name='Path 106'/%3E%3Cpath d='M126 35.4c-3.4-.6-6.6-.6-8.5 2.6a5.2 5.2 0 0 0 .3 6c2.1 3 5 2.7 8.1 1.9 1 1 .7 2-.6 2.3-6.2 1.3-11.7-2.3-10.7-8.6a6.6 6.6 0 0 1 1-2.8c2.4-3.1 5.7-4.1 9.5-3.8 1.3 0 1.7.9.9 2.4Z' data-name='Path 107'/%3E%3Cpath d='M14.2 33.2c1.2-.5 2-.3 2 1v4.1a19.5 19.5 0 0 1 2.2-.5c3-.4 4.4.8 4.5 3.8v6.3l-1.7.3-.3-2.5V42c-.1-2.5-1.2-3.2-3.6-2.3a7.4 7.4 0 0 0-1 .7v7.2c-1.8.8-2.1.7-2.2-.7v-5.2l.1-8.5Z' data-name='Path 108'/%3E%3Cpath d='m60.8 42.8 5.2 4.6c-.3 1.2-1.1 1.2-1.9.7a18.8 18.8 0 0 1-2.3-2l-3-2.7.5 4.2c-1.8.7-2.2.7-2.3-.7V34.1c0-.4.6-1 .9-1a1.8 1.8 0 0 1 1.3.8 5.9 5.9 0 0 1 0 2.1 23 23 0 0 0 .3 6l3.7-3.5c.3-.3 1.2-.6 1.5-.4.8.6.4 1.2-.3 1.8l-3.6 3Z' data-name='Path 109'/%3E%3Cpath d='m159 42.8 5 4.6c-.3 1.1-1 1.2-1.8.7a19 19 0 0 1-2.3-2l-3-2.7.4 4.2c-1.9.8-2.2.7-2.3-1V34.1c0-.4.8-1 1.1-1a1.6 1.6 0 0 1 1.2 1 23.3 23.3 0 0 1-.2 3v5.2l4-3.8c.4-.3 1.3-.6 1.6-.4.8.5.4 1.2-.2 1.7l-3.6 3Z' data-name='Path 110'/%3E%3Cpath d='M248.3 48.4c-3.5 0-5.7-2.1-5.6-5.4 0-3.2 2.4-5.3 5.8-5.3 3.3 0 5.7 2 5.7 5a5.8 5.8 0 0 1-5.9 5.7Zm3.8-5.5a3.5 3.5 0 0 0-3.6-3.6 3.9 3.9 0 0 0-3.9 3.8 4 4 0 0 0 3.7 3.8 3.8 3.8 0 0 0 3.8-4Z' data-name='Path 111'/%3E%3Cpath d='M220.6 33.2v5a24.2 24.2 0 0 1 2.5-.5c2.7-.3 4.3 1 4.4 3.8v6.2c-1.5.7-1.9.6-2-.8v-4c0-3.7-1.3-4.4-4.8-2.4v7.2c-1.1.8-2 .7-2-.8-.2-1.3 0-2.6 0-4l-.1-8.5c0-1.2 0-1.2 2-1.2Z' data-name='Path 112'/%3E%3Cpath d='M147.3 37.7c3.4 0 5.5 2 5.4 5.2 0 3.4-2.4 5.6-6 5.5-3.2 0-5.4-2-5.4-5.2 0-3.3 2.4-5.5 6-5.5Zm3.5 5.4a3.6 3.6 0 0 0-3.8-3.8 3.6 3.6 0 0 0-3.6 3.7 3.6 3.6 0 0 0 3.4 3.9 3.8 3.8 0 0 0 4-3.8Z' data-name='Path 113'/%3E%3Cpath d='M235 48.4c-3.3 0-5.3-2.1-5.3-5.3 0-3.4 2.4-5.5 6-5.4 3.3 0 5.6 2.3 5.5 5.3a5.7 5.7 0 0 1-6.1 5.4Zm.5-9.1a3.7 3.7 0 0 0-3.8 3.8 3.7 3.7 0 0 0 3.7 3.8 3.6 3.6 0 0 0 3.7-4 3.5 3.5 0 0 0-3.6-3.6Z' data-name='Path 114'/%3E%3Cpath d='M134 48.4c-3.3 0-5.4-2-5.4-5.2 0-3.4 2.3-5.5 6-5.5 3.3 0 5.4 2 5.4 5.2a5.6 5.6 0 0 1-6 5.5Zm4-5.3a3.5 3.5 0 0 0-3.5-3.8 3.8 3.8 0 0 0-.4 7.6A3.8 3.8 0 0 0 138 43Z' data-name='Path 115'/%3E%3Cpath d='M90.2 48.4c-3.3 0-5.6-2-5.7-5 0-3.5 2.1-5.6 5.7-5.7 3.4 0 5.6 1.8 5.7 5a5.5 5.5 0 0 1-5.7 5.7Zm3.7-5.4a3.5 3.5 0 0 0-3.5-3.7 3.8 3.8 0 0 0-.3 7.5 3.7 3.7 0 0 0 3.8-3.8Z' data-name='Path 116'/%3E%3Cpath d='M206.9 35.2a8 8 0 0 0-2.3 0c-.8.3-1.9.8-2.1 1.4a3.3 3.3 0 0 0 .7 2.4 13.9 13.9 0 0 0 2 1.9c1.9 1.8 2.2 3.3 1 5.1a5.1 5.1 0 0 1-5.5 2.3c-1-.3-1-1-.8-2a8.3 8.3 0 0 0 2.3 0 4.4 4.4 0 0 0 2.2-1.3c.7-.9 0-1.8-.6-2.4l-1.9-1.6c-2.8-2.5-2.5-5.3.7-7.2a7.4 7.4 0 0 1 3.1-.8c1.4-.1 1.7.8 1.2 2.2Z' data-name='Path 117'/%3E%3Cpath d='m75.5 47.8-4.7.6c-2 .2-3.5-.6-4-2.2a3.4 3.4 0 0 1 2.4-4.3 25.6 25.6 0 0 1 3.8-.7c-1-2.5-1.3-2.5-5.3-1 .1-.6 0-1.3.3-1.5 1.5-1.4 3.4-1.3 5.1-.7 1.6.6 2 2 1.9 3.5a33 33 0 0 0 0 3.4c0 1 .3 2 .5 3ZM73.3 43a30.4 30.4 0 0 0-3.4.3 1.4 1.4 0 0 0-1.1 1.9c.2.6.8 1.4 1.2 1.4a3.2 3.2 0 0 0 2.5-.5c.5-.6.5-1.8.8-3Z' data-name='Path 118'/%3E%3Cpath d='M104 41.2c-1.3-2.5-1.3-2.5-5.2-1.1-.5-1.1 0-1.7 1-2.1 3.4-1.5 6.2.3 6.2 4v5.8l-4.4.6c-2 .2-3.6-.7-4-2.4a3.4 3.4 0 0 1 2.4-4 27.7 27.7 0 0 1 4-.8Zm-.2 1.8a11.6 11.6 0 0 0-3 .4 2.4 2.4 0 0 0-1.2 1.9c0 1 .9 1.5 2 1.5 1.8 0 2.5-1 2.2-3.8Z' data-name='Path 119'/%3E%3Cpath d='M5 35.2H.3c-.5-1-.4-1.8.9-1.9H12c.1 1.6.1 1.6-4.6 2.1-.9 4.1-.3 8.2 0 12.3-2.3.7-2.6.6-2.6-1.4l.1-7.9v-3.2Z' data-name='Path 120'/%3E%3Cpath d='M173.4 40.2v7.5c-1.9.6-2.2.5-2.3-.9v-9.1c1.9.6 3.6.2 5.3 0 2.3-.2 3.6 1 3.8 3.4l.4 5.8c0 1.3-.8 1.5-2.2 1v-5.8c-.2-2.4-1.4-3.2-3.7-2.5a10.8 10.8 0 0 0-1.3.6Z' data-name='Path 121'/%3E%3Cpath d='M27.1 43.4c1 4.2 4 3 6.7 2.8-.2.7-.3 1.3-.5 1.4a6 6 0 0 1-6.6-.7 5.5 5.5 0 0 1-1-6.2 5 5 0 0 1 5.4-3 3.5 3.5 0 0 1 3 2.2c.8 1.8.1 3-1.8 3.4a16.2 16.2 0 0 1-2.4.1h-2.8Zm5.5-1.6c-.7-2.3-1.3-2.8-2.7-2.6-1.3.1-1.8.7-2 2.6Z' data-name='Path 122'/%3E%3Cpath d='M216.6 39.6h-2.4c-2.4.2-3.6 1.8-3.4 4.2.2 2 1.5 3 4 2.7h2.1c-1 1.8-2.6 2.4-4.9 1.7a4.7 4.7 0 0 1-3.4-4.8 6 6 0 0 1 4.8-5.6c1.8-.3 2.3 0 3.2 1.8Z' data-name='Path 123'/%3E%3Cpath d='M258.5 47.8c-2 .4-2.1.3-2.3-1a9 9 0 0 1 0-1V33.4c2.2-.4 2.3-.4 2.4 1v13.4Z' data-name='Path 124'/%3E%3Cpath d='M80.3 38.9c3-1.6 3.6-1.5 3.5 1.1-3 0-4 1-3.8 4 0 1.3.3 2.5.5 3.6-2 .7-2.4.7-2.5-.7v-9.5Z' data-name='Path 125'/%3E%3Cpath d='M168 38.1v9.6c-1.8.7-2.1.6-2.1-1 0-2.6-.2-5-.1-7.6 0-1.4 1-1.3 2.3-1Z' data-name='Path 126'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

body:not(.show-menu-sidebar) .site-header .menu-primary-container ul a {
    display: none;
}

body:not(.show-menu-sidebar) .site-header .menu-primary-container ul>*:has(a[href="/"]) a {
    display: block;
    position: absolute;
    margin-left: -50vw;
    transform: translate(-50%, 20px);
}

.site-header .menu-primary-container {
    /* display:none; */
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 0;
}

body.show-menu-sidebar .site-header .menu-primary-container {
    position: fixed;
    background-color: #fff;
    ;
    width: 300px;
    color: var(--primary);
    padding: 2rem;
    box-shadow: 0 0 0 100vw rgba(0, 0, 0, 0.6);
}

body.show-menu-sidebar .site-header .menu-primary-container ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    font-size: 1.4rem;
}

body.show-menu-sidebar .site-header .menu-primary-container ul>*:has(a[href="/"]) {
    order: -100;
}

body.show-menu-sidebar .site-header .menu-primary-container ul>:last-child {
    order: -50;
}

body.show-menu-sidebar .site-header .menu-primary-container ul>:last-child a {

    font-size: 1.4rem;
    font-weight: 700;
}

#main-nav-toggle {
    background-color: transparent;
    border: none;
    font-size: 1.4rem;
    position: absolute;
    top: 2rem;
    right: 2rem;
}

body:has(>main>.wp-block-cover:first-child) #main-nav-toggle {
    color: #fff;
}

#main-nav-toggle::before {
    content: '☰';
}

body.show-menu-sidebar #main-nav-toggle {
    position: fixed;
    top: 2rem;
    right: 2rem;
    color: var(--primary) !important;
}

body.show-menu-sidebar #main-nav-toggle::before {
    content: '╳';
}

body:not(.show-menu-sidebar):has(>main>.wp-block-cover:first-child) .site-header .menu-primary-container ul>*:has(a[href="/"]) a {
    filter: invert() brightness(400%);
}

@media(min-width:900px) {
    #main-nav-toggle {
        display: none;
    }

    .site-header .menu-primary-container {
        display: block;
        position: static;
        width: unset;
    }

    .site-header .menu-primary-container ul {
        display: flex;
        color: var(--primary);
        gap: clamp(1rem, 2vw, 3rem);
        align-items: center;
        max-width: min(calc(100% - 2rem), 1200px);
        margin: auto;
    }

    body .site-header .menu-primary-container ul a {
        display: block !important;
    }

    body:has(>main>.wp-block-cover:first-child) .site-header .menu-primary-container ul {
        color: #fff;
    }

    body:has(>main>.wp-block-cover:first-child) .site-header .menu-primary-container ul>:last-child a {
        background-color: #fff;
        color: var(--primary);
    }

    .site-header .menu-primary-container ul>:last-child a {
        background-color: var(--tertiary);
        /* color: #fff; */
        padding: 0.75rem 1.75rem;
        border-radius: 2rem;
    }

    .site-header .menu-primary-container ul>:last-child a:hover {
        /* text-decoration: none; */
        outline: solid 4px rgba(0, 0, 0, 0.3);
        background-color: #DD7763 !important;
    }
    body:has(>main>.wp-block-cover:first-child) .site-header .menu-primary-container ul>:last-child a:hover {
        background-color: #DEDEDE !important;
    }

    .site-header .menu-primary-container ul>*:has(a[href="/"]) {
        flex: 1;
        display: flex;
        justify-content: center;
    }

    body .site-header .menu-primary-container ul>*:has(a[href="/"]) a {
        position: static !important;
        margin: 0 !important;
        transform: none !important;
    }
}


.site-footer {
    background-color: var(--primary);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 5rem;
    /* min-height: 600px; */
    padding: 4rem max(1rem, calc(50% - 600px));
}

@media(max-width:600px) {

    .site-footer>*:nth-child(1),
    .site-footer>*:nth-child(2) {
        flex: 1 0 30%;
    }

    .site-footer>*:nth-child(3),
    .site-footer>*:nth-child(4) {
        flex: 1 0 100%;
    }
}

.site-footer>* {
    flex: 1;
}

.site-footer a {
    text-decoration: none;
    display: inline-block;
    height: 44px;
}

.site-footer a:hover {
    text-decoration: underline;
}


main>* {
    max-width: calc(100% - 2rem);
    margin: auto;
}

main>.wp-block-cover {
    max-width: unset;
}

main>.wp-block-cover:first-child {
    margin-top: -300px;
    padding-top: 300px;
}


.wp-block-button a:hover, .btn:hover, button.button:hover {
    cursor:pointer;
    outline: solid 4px rgba(0, 0, 0, 0.3);
    text-decoration: underline;
}


/** WOOCOMMERCE **/
main>.woocommerce {
    padding: 1rem calc(50% - 600px);
}

.woocommerce-breadcrumb {
    display: none;
}
.woocommerce-message {
    display:block;
    margin:1rem 0;
    background-color:lightcyan;
    padding:0.5rem;
}
.woocommerce-message .button {
    display:inline-block;
}

.content-area>main.site-main {
    padding: 1rem max(1rem, calc(50% - 600px));
}


body.woocommerce:has(>div#sidebar) header.site-header {
    grid-area: header;
}

body.woocommerce:has(>div#sidebar) div#primary {
    grid-area: main;
}

body.woocommerce:has(>div#sidebar) div#sidebar {
    grid-area: sidebar;
}

body.woocommerce:has(>div#sidebar) footer {
    grid-area: footer;
}

body.woocommerce .woocommerce-products-header__title {
    display: block;
    font-size: 3rem;
    font-family: var(--font-fancy);
    text-align: center;
    margin-bottom: 1rem;
}

body.woocommerce.term-classes .woocommerce-products-header__title {
    display: block;
    font-size: 3rem;
    font-family: var(--font-fancy);
    text-align: center;
    margin-bottom: 1rem;
}

body.woocommerce .woocommerce-result-count {
    display: none;
}

body.woocommerce .woocommerce-ordering {
    text-align: right;
}

.woocommerce-shop-grid {
    display:grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: min(calc(100% - 2rem), 1200px);
    grid-template-areas: 'heading' 'sidebar' 'main';
    margin: auto;
}
.woocommerce-shop-grid>header {
    grid-area: heading;
}
.woocommerce-shop-grid>#primary {
    grid-area: main;
}
.woocommerce-shop-grid>#sidebar {
    display:none;
    grid-area: sidebar;
}
@media (min-width:900px) {
    .woocommerce-shop-grid {
        grid-template-columns: 200px 1fr;
        grid-template-areas: 'heading heading' 'sidebar main';
    }
    .woocommerce-shop-grid>#sidebar {
        display:block !important;
    }
}


body.woocommerce.term-classes div#sidebar {
    display: none !important;
}
body.woocommerce.term-classes .woocommerce-shop-grid {
    grid-template-columns: 1fr;
    grid-template-areas: 'heading' 'main';
}





.product {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    grid-template-areas: 'summary' 'image' 'detail';
    margin-bottom: 3rem;
}

@media(min-width:900px) {
    .product {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
        grid-template-areas: 'image summary' 'image detail';
    }

    .featured-products .product {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .featured-products .product a {
        text-decoration: none;
    }
}

.product>.woocommerce-product-gallery {
    grid-area: image;
}

.woocommerce div.product>.summary {
    grid-area: summary;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    width: unset;
    float: none;
}

.product .summary>.item-classification {
    text-transform: uppercase;
    color: #777;
}

.product>.woocommerce-tabs {
    grid-area: detail;
}

.product>.related {
    display: none;
}

.woocommerce div.product>.woocommerce-product-gallery {
    width: unset;
    float: none;
}

.product>.woocommerce-product-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product>.summary .product_title {
    font-family: var(--font-fancy);
    font-size: 2.5rem;
    font-weight: 600;
}

.product>.summary .price::before {
    content: 'NZD ';
}

.product>.summary .price {
    font-size: 1.5rem;
    font-weight: 600;
}

.product>.summary .product_meta {
    display: none;
}

.product>.summary form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.product>.summary form label {
    font-size: 0.8rem;
}

.product .summary .quantity {
    font-weight: 700;
    letter-spacing: 0.26px;
    color: var(--primary);
}

.product .summary .quantity::before {
    content: 'CHOOSE QUANTITY';
    display: block;
    font-size: 0.8rem;
    margin: 0.5rem 0;
}

.product.product_cat-classes .summary .quantity::before {
    content: 'NUMBER OF PARTICIPANTS';
}

.product>.summary form input.qty {
    padding: 0.5em 1.5em;
    border-radius: 2em;
    background-color: #F5F5F5;
    border: none;
    font-size: 1rem;
    text-align: center;
}

.product>.summary form select {
    padding: 0.5em 1.5em;
    border-radius: 2em;
    background-color: #F5F5F5;
    border: none;
    font-size: 1rem;
}

.product>.summary form select option {
    font-weight: 600;
}

.reset_variations {
    display: none !important;
}

.woocommerce-variation-availability {
    display: none !important;
}

.product .variations .variation label {
    text-transform: uppercase;
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.26px;
    color: var(--primary);
}

.product .variations .variation label::before {
    content: 'CHOOSE A ';
}

.product button.button {
    margin-top: 1rem;
}

.product>.woocommerce-tabs>ul.tabs {
    display: none;
}

.product>.woocommerce-tabs h2 {
    display: none;
}

.product .woocommerce-product-details__short-description p {
    padding: 0 calc(50% - 200px);
}

.product.product.product_cat-classes .woocommerce-product-details__short-description p {
    display: none;
}

.product>.woocommerce-tabs p {
    text-align: center;
    color: #585858;
    padding: 0 calc(50% - 200px);
    font-size: 0.9rem;
}

main>ul.products.columns-4 {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

main>ul.products.columns-4>li {
    flex: 0 0 20%;
    display: flex;
    flex-direction: column;
    width: unset;
    float: none;
}

main>ul.products.columns-4>li.product_cat-classes {
    flex: 1 0 220px;
    max-width: 300px;
}

main>ul.products.columns-4>li .add_to_cart_button {
    display: none;
}

main>ul.products.columns-4>li .woocommerce-loop-product__link {
    text-decoration: none;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
    flex: 1;
}

main>ul.products.columns-4>li .woocommerce-loop-product__link h2 {
    text-align: center;
    color: var(--primary);
    font-size: 0.8rem;
    line-height: 1.5;
    font-weight: 600;
}
body.term-classes main>ul.products.columns-4>li .woocommerce-loop-product__link h2 {
    line-height:1.1;
}

main>ul.products.columns-4>li.product_cat-classes .woocommerce-loop-product__link h2 {
    font-family: var(--font-fancy);
    font-weight: 600;
    font-size: 2rem;
    align-self: flex-start;
    text-align: left;
}

main>ul.products.columns-4>li .woocommerce-loop-product__link img {
    width: 100%;
    height:unset;
    object-fit: contain;
}

main>ul.products.columns-4>li .woocommerce-loop-product__link .brand {
    text-transform: uppercase;
    color: #777;
    margin-bottom:-0.75rem;
}

main>ul.products.columns-4>li.product.product_cat-classes .woocommerce-loop-product__link .brand {
    display: none;
}

main>ul.products.columns-4>li .woocommerce-loop-product__link .brand::before {
    content: "\00a0\00a0";
}

main>ul.products.columns-4>li .woocommerce-loop-product__link .brand::after {
    content: "\00a0\00a0";
}

main>ul.products.columns-4>li .woocommerce-loop-product__link .price {
    text-transform: uppercase;
    color: var(--tertiary);
}

main>ul.products.columns-4>li.product.product_cat-classes .sub-text {
    color: #777;
    font-weight: 600;
    align-self: flex-start;
}

main>ul.products.columns-4>li.product.product_cat-classes .short-description {
    color: #777;
    font-size: 0.9rem;
    flex: 1;
}

main>ul.products.columns-4>li.product.product_cat-classes .btn {
    background-color: var(--secondary);
    color: var(--primary);
    align-self: flex-start;
}
main>ul.products.columns-4>li.product.product_cat-classes .btn:hover {
    background-color: var(--secondary-dark) !important;
}

main>ul.products.columns-4>li.product.product_cat-classes .woocommerce-loop-product__link .price {
    color: inherit;
}

main>ul.products.columns-4>li .woocommerce-loop-product__link .price::before {
    content: 'NZD';
}

.woocommerce-products-header .term-description {
    text-align: center;
    max-width: 600px;
    margin: auto;
    color: var(--primary);
}


.woocommerce-pagination ul {
    display: flex;
    padding: 2rem 0;
}

.woocommerce-pagination ul li>* {
    aspect-ratio: 1;
    padding: 0.5rem;
}


.product_cat-classes .woocommerce-product-attributes {
    display:none;
}



/* CUSTOM BLOCKS */
.product-categories-block {
    padding: 1.5rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.product-categories-block a {
    text-decoration: none;
    color: #777;
}

.product-categories-block a:hover {
    color: var(--tertiary);
}

.product-brands-block {
    padding: 1.5rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.product-brands-block a {
    text-decoration: none;
    color: #777;
}

.product-brands-block a:hover {
    color: var(--tertiary);
}


#lcf-contactform-wrap form {
    padding:2rem 0;
    display:flex;
    flex-direction: column;
    gap:2rem;
    }
#lcf-contactform-wrap form label {
    display: none;
}
    
#lcf-contactform-wrap form input, #lcf-contactform-wrap form textarea {
    border:none;
    border-bottom:solid 1px var(--primary);
    font-size:1.2rem;
}
#lcf-contactform-wrap form input[type=submit] {
    background-color: var(--secondary);
    color: var(--primary);
    border: none;
    padding: 0.75em 3em;
    border-radius: 1.5em;
    font-size: 1rem;
    font-weight: 400;
}
#lcf-contactform-wrap form input[type=submit]:hover {
    background-color: var(--secondary-dark);
}


.product>.summary .price {
    color:var(--primary);
}

.full-width, div:has(.full-width) {
    max-width: 100%;
}

.product-brands-block.featured-product-brand {
    text-align: center;
    padding: 0;
    margin: 0;
}

.low-gap {
    gap:0.5rem;
}

.quotation-inner {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.our-classes-container .attributes {
    color: #808080;
    font-size: 0.9rem;
    margin-top: 1rem;
    margin-bottom: 0rem;
}

#lcf_contactform_name, #lcf_contactform_email {
    padding-bottom: 0.75rem;
}

.homepage-add-to-cart .product{
    display: flex;
    align-items: center;
    width: fit-content;
    justify-content: center;
}

.homepage-add-to-cart .product form {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.homepage-add-to-cart .product .quantity {
    text-align: center;
    margin: 0;
}

.homepage-add-to-cart .product .quantity .qty {
    margin-right: 0;
}