/*
Theme Name: Château Fonplégade Storefront
Theme URI: https://fonplegade.com/
Author: Vin
Author URI: https://vinagency.com
Version: 1.0.0
*/

/* 

Reset
Color
Elements
Layout
Typography
Links
Forms
Util
Components
Grid

*/

/* =Reset */

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
html,
body {
min-height: 100vh;
overscroll-behavior: none;
overflow-x: clip;
}
:focus {
outline: none;
}
:focus-visible {
outline: 1px dotted var(--color-border-medium);
outline-offset: 5px;
}
::selection {
background-color: var(--wp--preset--color--green);
color: var(--wp--preset--color--green-darkest);
}
p:empty {
display: none;
}
img {
color: transparent;
}
@view-transition {
navigation: auto;
}

/* =Color */

:root {
--color-black: #111;
--color-background: #fff;
--color-border:#ccc;
--color-border-medium: #aaa;
--color-border-dark:#666;
--color-primary: #ccc;
--color-primary-medium: #aaa;
--color-primary-dark: #666;
--color-red: #C73532;
--color-red-dark: #992623;
}
:focus-visible {
outline: 1px dotted var(--color-border-dark);
outline-offset: 3px;
}

/* =Elements */

body {
scroll-behavior: smooth;
letter-spacing: .025em;
}
* {
margin:0;
padding:0;
box-sizing: border-box;
}
button {
background-color: transparent;
border: 0;
cursor: pointer;
padding: 0;
text-transform: uppercase;
font-size:16px;
letter-spacing:.05em;
}
a {
text-decoration-color: var(--wp--preset--color--green);
}
a:hover,
p a:hover {
text-decoration-color: var(--wp--preset--color--green-dark);
}
p a:hover,
p a:where(:not(.wp-element-button)):hover {
text-decoration: underline;
text-decoration-color: var(--wp--preset--color--green-dark);
}
p {
text-wrap: pretty;
}
img {
max-width: 100%;
color: transparent;
}
body ul {
padding-left: 0;
}

/* =Links */

a.button,
div.button {
text-transform: uppercase;
font-weight: 500;
color: var(--wp--preset--color--green-darkest);
background: transparent none;
border: 2px solid var(--wp--preset--color--green);
padding-top: calc(0.6rem - 1px);
padding-bottom: calc(0.6rem - 1px);
padding-left: calc(1rem - 1px);
padding-right: calc(1rem - 1px);
transition: all 0.3s ease;
}
a.button:hover,
a.button:focus-visible,
a:hover div.button:hover,
a:focus-visible div.button {
color: var(--wp--preset--color--green-darkest);
background-color: var(--wp--preset--color--green);
border-color: var(--wp--preset--color--green);
transition: all 0.3s ease;
}
h2 a {
text-decoration: underline;
text-decoration-color: var(--wp--preset--color--green);
text-decoration-thickness: 2px;
text-underline-offset: 0.25em;
transition: all 0.3s ease;
}
h2 a:hover,
h2 a:focus-visible {
text-decoration: underline;
text-decoration-color: var(--wp--preset--color--green-dark);
text-decoration-thickness: 2px;
text-underline-offset: 0.25em;
}
/* override wp links underline */
/* :root :where(a:where(:not(.wp-element-button))) {
text-decoration: inherit;
} */

/* =Layout */

:root {
--wide-size: 1100px;
--gap: 30px;
--gap-tight: 15px;
--page-edges: var(--gap);
--global-kb-gap-md: var(--gap);
--global-kb-spacing-md: var(--gap);
--global-kb-gap-sm: var(--gap-tight);
--global-kb-spacing-sm: var(--gap-tight);
}
@media screen and (min-width: 1000px) {
    :root {
    --page-edges: 105px;
    }
}
@media screen and (min-width: 1500px) {
    :root {
    --wide-size: 1150px;
    }
}
@media screen and (min-width: 1800px) {
    :root {
    --wide-size: 1400px;
    }
}

main {
min-height: calc(100svh - var(--header-height-default));
}

/* =Typography */

body,
button {
font-family: var(--wp--preset--font-family--gotham);
letter-spacing: 0.025em;
}

h2.size-2 {
font-size: 24px;
}
h3.size-2 {
font-size: 1rem;
}
p {
margin-bottom: 1em;
}
/* h1, h2, h3 {
font-weight: normal;
} */
h1 {
margin-top: 0;
margin-bottom: 1em;
}
h1.spacing-tight {
margin-bottom: .5em;
}
h2 {
margin-top: 1em;
margin-bottom: 1em;
}
h2.spacing-tight {
margin-bottom: .5em;
}
h3 {
margin-top: 1em;
margin-bottom: 1em;
}
h2 + h3 {
margin-top: -1em;
}
p {
letter-spacing: .025em;
}
@media screen and (max-width:640px) {
    :root {
    --wp--preset--font-size--medium: 20px;
    }
}
@media screen and (min-width:1660px) {
    :root {
    --wp--preset--font-size--medium: 20px;
    }
}
.text-balance {
text-wrap: balance;
}

/* =Forms */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea,
select {
width: 100%;
padding: 0.5rem;
font-size: var(--wp--preset--font-size--medium);
border-radius: 0;
background-color: #fff;
border: 1px solid #aaa;
}
input[type="text"]:hover,
input[type="text"]:focus,
input[type="email"]:hover,
input[type="email"]:focus,
input[type="tel"]:hover,
input[type="tel"]:focus,
input[type="password"]:hover,
input[type="password"]:focus,
textarea:hover,
textarea:focus,
select:hover,
select:focus {
border: 1px solid #777;
}


.form-required {
color: var(--color-red);
}
label {
text-transform: uppercase;
letter-spacing: .05em;
font-size: var(--wp--preset--font-size--small);
}


/* =Util */

.hide {
display: none;
}

.bg-green-top {
background: linear-gradient(
    to bottom,
    var(--wp--preset--color--green) 50%,
    transparent 50%
);
}
.bg-green-bottom {
background: linear-gradient(
    to bottom,
    transparent 50%,
    var(--wp--preset--color--green) 50%
);
}

/* =Components */

/* Commerce7 */

/* C7 overrides */

body .c7-h1 {
text-align: center;
}
p .c7-link,
p .c7-link:hover,
p .c7-link:focus-visible {
text-decoration: underline;
text-underline-offset: 5px;
text-decoration-thickness: 1px;
}
p .c7-link {
text-decoration-color: var(--wp--preset--color--green);
}
p .c7-link:hover,
p .c7-link:focus-visible {
color: #111;
text-decoration-color: var(--wp--preset--color--green-darker);
}


/* fix forgot password button spacing on mobile */
@media screen and (max-width: 768px) {
  .c7-form__buttons button:nth-child(n+2), 
  .c7-form__buttons li:nth-of-type(n+2) {
  margin-left: 0;
  }
}

/* fix blue arrow on order history */
body .c7-back::before {
content: '←';
vertical-align: top;
}

/* fix utility menu carat icon position */
.c7-user-nav__account svg {
display: inline-block;
margin-bottom: -1px;
}

/* center account member since */
.c7-account__header .c7-marker {
border: none;
display: block;
text-align: center;
}

/* hide checkbox in club joined welcome header */
.c7-receipt__header__content h1.c7-h1:before {
display: none;
}

/* fix account notification in utility menu */
body .c7-account-notification {
position: relative;
top: 0;
right: 0;
display: inline-block;
}

/* C7 clubs */

/* hide club memberships links & account section */
.c7-user-nav__account__dropdown li:nth-child(2) {
display: none;
}
.c7-account__menu li:nth-child(2) {
display: none;
}
.c7-account-dashboard__left-column .c7-account-dashboard__block.c7-account-block:nth-child(2) {
display: none;
}
.c7-account-dashboard__left-column .c7-account-dashboard__block:nth-child(2) {
display: none;
}

/* C7 reservations */

/* Hide reservations links */
.c7-account__menu li:nth-child(4) {
display: none;
}
.c7-user-nav__account__dropdown li:nth-child(4) {
display: none;
}
/* reservation date picker prevent mobile width too wide */
.c7-date-picker-dropdown td,
.c7-date-picker-dropdown td {
padding: 0;
}
.c7-account-dashboard__left-column .c7-account-dashboard__block:nth-child(3) {
display: none;
}

/* C7 modals */

body .c7-modal .c7-btn--primary, 
body .c7-modal .c7-btn--alt, 
body .c7-account-details__header .c7-btn {
text-transform: uppercase;
}
body .c7-modal__header button,
body .c7-modal__header button,
body .c7-modal__header button:hover,
body .c7-modal__header button:focus-visible {
border: none;
background-color: transparent;
transition: all 0.3s ease;
}

/* C7 buttons */

.c7-btn,
.c7-btn--primary {
text-transform: uppercase;
font-weight: 500;
}
.c7-form__buttons {
text-transform: uppercase;
}

button.c7-link,
button.c7-link:hover,
button.c7-link:focus-visible {
font-size: var(--wp--preset--font-size--x-small);
font-weight: 300;
line-height: 1;
text-transform: uppercase;
padding: 8px;
border: 1px solid var(--wp--preset--color--green);
text-decoration: none !important;
}

/* C7 header */

.c7-user-nav__account__dropdown__header span {
display: block;
margin-top: 10px;
}
body .c7-user-nav__account__dropdown__logout {
font-size: var(--wp--preset--font-size--x-small);
display: flex;
align-items: center;
justify-content: space-between;
}

.c7-utility-menu-account > div {
text-transform: uppercase;
}
.c7-user-nav__cart > button {
margin-bottom: 0;
padding-bottom: 0;
}

.c7-utility-menu-account > div,
.c7-user-nav__cart > button {
font-size: var(--wp--preset--font-size--x-small);
vertical-align: top;
line-height: 1;
}
body .c7-user-nav__cart__count {
font-size: var(--wp--preset--font-size--x-small);
font-weight: normal;
position: relative;
top: -4px;
}

#c7-cart,
#c7-account {
display: none;
}

.c7-logged-in #c7-account {
display: none;
}
.c7-logged-in #c7-cart {
display: block;
}
.c7-utility-menu-container {
position: relative;
top: auto;
right: auto;
padding: 0;
}



/* C7 cart */

#c7-side-cart__header__title {
font-family: var(--wp--preset--font-family--garamond-display);
font-size: 36px;
}
#c7-side-cart__header__close,
#c7-side-cart__header__close,
#c7-side-cart__header__close:hover,
#c7-side-cart__header__close:focus-visible {
background-color: transparent;
}
body .c7-user-nav__account > a,
body .c7-user-nav__account > a:hover,
body .c7-user-nav__account > a:focus-visible,
body .c7-user-nav__cart > button,
body .c7-user-nav__cart > button:hover,
body .c7-user-nav__cart > button:focus-visible {
padding: 0;
border: none;
}
body .c7-side-cart a {
font-size: var(--wp--preset--font-size--medium);
font-weight: 500;
line-height: 1.5;
}
body .c7-side-cart .c7-order-summary__buttons a {
font-size: var(--wp--preset--font-size--small);
}
body .c7-order-item__title {
font-family: var(--wp--preset--font-family--garamond);
letter-spacing: 0.025em;
text-transform: uppercase;
font-weight: 500;
}

/* C7 checkout */

body .c7-callout:not(.c7-callout--club)::before {
display: none;
}
body .c7-checkout:not(.c7-checkout--club) .c7-callout {
padding: 25px 20px 15px 20px;
}
body .c7-breadcrumbs li {
border-radius: 0;
text-transform: uppercase;
}
body .c7-order-items__title a {
border: 1px solid var(--wp--preset--color--green);
font-size: var(--wp--preset--font-size--small);
text-transform: uppercase;
text-decoration: none;
padding: 5px 10px;
}
body .c7-order-items__title a:hover,
body .c7-order-items__title a:focus-visible {
text-decoration: none !important;
}
.c7-form--coupon-code-container {
display: none;
}

/* C7 account */

body .c7-content.c7-account-login {
padding-top: 2rem;
}
body .c7-account__header {
padding: 3rem 0;
}
body .c7-account__menu a {
text-transform: uppercase;
font-family: var(--wp--preset--font-family--garamond);
letter-spacing: 0.025em;
font-weight: 500;
}

.c7-account-dashboard__block__header__title h2 svg {
display: none;
}

body .c7-modal__content h2.c7-h2, 
body .c7-account-dashboard__block__header__title h2.c7-h2 {
font-size: 36px;
}
body .c7-account-block__title {
font-family: var(--wp--preset--font-family--garamond);
letter-spacing: 0.025em;
text-transform: uppercase;
}
body .c7-account__menu {
margin-bottom: 2rem;
}
body .c7-account__menu a {
border-bottom-width: 1px;
padding: 5px 0;
transition: all 0.3s ease;
}
body .c7-account-details__header {
display: flex;
justify-content: center;
gap: 30px;
}

.c7-account-details__delete-account {
text-align: center;
}
.c7-account-details__delete-account button.c7-btn.c7-btn--alt {
font-size: var(--c7-font-size-sub);
padding: 5px 10px;
background-color: transparent;
border: 1px solid var(--wp--preset--color--green);
}


/* C7 allocations */

body .c7-product-collection .c7-product__title, 
body .c7-related-products .c7-product__title, 
body .c7-product-allocation .c7-product__title, 
body .c7-club-product__details__title {
font-family: var(--wp--preset--font-family--garamond);
}

body .c7-product-allocation h2.c7-h2 {
text-align: center;
}
body .c7-product-allocation__content {
text-align: center;
text-wrap: balance;
}
.c7-product__allocation__wish {
margin-top: 0.5em;
}

/* C7 join */

.c7-signup-form__submit-group {
text-align: center;
}
.c7-signup-form__form label {
margin-bottom: 0.5em;
}



/* Complianz */

:root {
--cmplz_title_font_size: 24px !important;
--cmplz_button_border_radius: 0 !important;
--cmplz_button_font_size: 14px !important;
}
body .cmplz-cookiebanner {
max-width: 700px;
z-index: 99;
}
body .cmplz-header {
padding-bottom: 15px;
}
body .cmplz-cookiebanner .cmplz-close:hover {
line-height: 20px;
}
body .cmplz-cookiebanner .cmplz-buttons {
font-weight: bold;
}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
min-height: 0;
}
body .cmplz-cookiebanner {
grid-gap: 0;
}
body .cmplz-cookiebanner .cmplz-title {
font-family: var(--wp--preset--font-family--garamond-display);
}
body .cmplz-cookiebanner .cmplz-message,
body .cmplz-links a {
font-family: var(--wp--preset--font-family--gotham);
padding-right: 20px;
margin-bottom: 0;
}
body .cmplz-cookiebanner.cmplz-categories-type-view-preferences .cmplz-buttons, 
body .cmplz-cookiebanner.cmplz-categories-type-no .cmplz-buttons {
flex-direction: column;
}
@media screen and (min-width: 1024px) {
    body .cmplz-cookiebanner {
    left: 50%;
    transform: translateX(-50%);
    }
    body .cmplz-cookiebanner.cmplz-categories-type-view-preferences .cmplz-buttons, 
    body .cmplz-cookiebanner.cmplz-categories-type-no .cmplz-buttons {
    flex-direction: column;
    }
}


/* Kadence Galleries */

/* .kb-gallery-item-link img {
transform: scale(1.00);
transition: all 0.3s ease;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.kb-gallery-item-link:hover img,
.kb-gallery-item-link:focus-visible img {
transform: scale(1.01);
transition: all 0.3s ease;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
} */

/* Kadence Gallery Lightbox */

.glightbox-container .gnext {
right: 0;
}
.glightbox-container .gprev {
left: 0;
}
.glightbox-container .gnext svg,
.glightbox-container .gprev svg {
display: none;
}
.glightbox-container .gclose svg {  
display: none;
}
.glightbox-container button.gclose::after,
.glightbox-container button.gnext::after,
.glightbox-container button.gprev::after {
font-family: 'Times New Roman', Times, serif;
color: #111;
font-size: 1.25rem;
/* color: var(--wp--preset--color--xxxxx); */
}
.glightbox-container button:hover.gclose::after,
.glightbox-container button:hover.gnext::after,
.glightbox-container button:hover.gprev::after,
.glightbox-container button:focus.gclose::after,
.glightbox-container button:focus.gnext::after,
.glightbox-container button:focus.gprev::after  {
color: #111;
/* color: var(--wp--preset--color--xxxxx); */
}
.glightbox-container button.gclose::after {
content: "\00D7";
display: block;
font-size: 2rem;
}
.glightbox-container button.gnext::after {
content: "\2192";
display: block;
}
.glightbox-container button.gprev::after {
content: "\2190";
display: block;
}
body .glightbox-kadence-dark {
background-color: #fff !important;
/* --glightbox-main-color: var(--wp--preset--color--cream) !important; */
}
body .goverlay {
background-color: #fff !important;
/* background-color: var(--wp--preset--color--cream) !important; */
}
body .glightbox-container .gclose {
top:0;
right:0;
padding-top: 10px;
padding-bottom: 10px;
}
body .glightbox-container .gclose, 
body .glightbox-container .gnext, 
body .glightbox-container .gprev {
background-color: transparent !important;
width: 50px;
text-align: center;
}
.glightbox-container .gslider {
padding: 60px;
}
body .glightbox-container .gslide-media {
box-shadow: none;
/* box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1); */
}
/* body .gbtn.focused {
outline-color: var(--wp--preset--color--xxxxx);
} */
body .gslide-image img {
max-height: calc(100vh - 80px);
}


/* categories menu */

:root :where(.wp-block-query-title span) {
font-style: normal;
}
.wp-block-categories-list {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 20px;
}
.wp-block-categories-list a {
text-transform: uppercase;
/* text-decoration-color: var(--color-border-medium); */
text-underline-offset: 0.5em;
transition: all 0.35s ease;
}
.wp-block-categories-list a:hover,
.wp-block-categories-list a:focus-visible {
text-decoration: underline;
/* text-decoration-color: var(--color-border-dark); */
transition: all 0.35s ease;
}


/* posts block */

.wp-block-post h2 a {
text-decoration: underline;
/* text-decoration-color: var(--color-border-medium); */
text-decoration-thickness: 1px;
}
.wp-block-post h2 a:hover,
.wp-block-post h2 a:focus-visible {
text-decoration: underline;
/* text-decoration-color: var(--color-border-dark); */
text-decoration-thickness: 1px;
}
.post.type-post > figure {
padding-bottom: 0 !important;
}


/* search */

.wp-block-search__label {
position: absolute;
top: -10000px;
left: -10000px;
}

/* contact form 7 */

body .wpcf7 form.sent .wpcf7-response-output {
border-color: var(--color-primary-dark);
}

/* image block captions */

:root :where(.wp-element-caption, 
.wp-block-audio figcaption, 
.wp-block-embed figcaption, 
.wp-block-gallery figcaption, 
.wp-block-image figcaption, 
.wp-block-table figcaption, 
.wp-block-video figcaption) {
font-size: 1rem !important;
}

/* buttons */

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
background-color: var(--color-primary-dark);
}
.wp-block-button .wp-block-button__link {
font-weight: 500;
}
button,
input[type="submit"] {
color: var(--wp--preset--color--green-darkest);
background-color: var(--wp--preset--color--green);
border-color: var(--wp--preset--color--green);
border: 2px solid var(--wp--preset--color--green);
border-radius: 0;
padding: 1rem 1.5rem;
font-size: var(--wp--preset--font-size--medium);
text-transform: uppercase;
font-weight: 500;
letter-spacing: 0.1em;
cursor: pointer;
transition: all 0.3s ease;
}
button:hover,
input[type="submit"]:hover,
button:focus-visible,
input[type="submit"]:focus-visible,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus-visible {
color: var(--wp--preset--color--green-darkest);
border-color: var(--wp--preset--color--green);
background-color: var(--wp--preset--color--green);
transition: all 0.3s ease;
}
    