/*
Theme Name: Marife Storefront Child
Theme URI: #
Description: Thème enfant de Storefront, optimisé pour WooCommerce et Elementor, développé pour la boutique en ligne MARIFE.
Author: Veone
Template: storefront
Version: 1.0.0
Text Domain: marife-storefront-child
*/

/*
Ce fichier ne sert qu'à déclarer le thème enfant auprès de WordPress
(l'en-tête ci-dessus est obligatoire, notamment la ligne "Template: storefront").
Les styles réels sont chargés séparément via assets/css/custom.css
(voir functions.php) afin de garder ce fichier propre et facile à versionner.
*/

body {
  font-family: "Poppins", sans-serif;
}

a:focus,
button:focus,
.button.alt:focus,
input:focus,
textarea:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus {
  outline-color: #00261c;
}

.marife-cat-card {
  scroll-snap-align: start;
  flex: 0 0 auto;
  width: clamp(120px, 16vw, 250px);
  background: transparent;
}

.marife-cat-thumb {
  background: #fbf5f5;
}

.marife-cat-name {
  font-weight: 500;
  font-size: clamp(13px, 1.3vw, 20px);
}

.marife-cat-desc {
  font-size: clamp(11px, 1.1vw, 12.5px);
  color: #000;
  font-size: 14px;
}

a.marife-prod-thumb {
  background: #d5d5d5;
  padding: 30px;
}

.marife-prod-card {
  width: clamp(200px, 22vw, 292px);
  background: #f6f6f6;
}
.marife-prod-price {
  font-weight: 800;
  color: #888746;
}

.marife-prod-cta a.button,
.marife-prod-cta a.add_to_cart_button {
  background: #4e625d;
}

span.marife-account-icon {
  border: 1px solid #fff;
  border-radius: 50px;
  padding: 7px 7px 0px 7px;
}
.woocommerce-mini-cart-item .mini_cart_item a {
  color: #00261c !important;
}
.shopengine-woocommerce-info {
  background: #00261c !important;
  color: #fff !important;
  border-top: 1px solid #d8a520 !important;
}

.marife-cf7-wrap {
  --marife-green-bg: #1a4d3a;
  --marife-green-field: #2e6650;
  --marife-gold: #d9a521;
  --marife-gold-hover: #c2921c;
  --marife-text-soft: #bcd9cd;
  box-sizing: border-box;
  border-radius: 20px;
  padding: clamp(20px, 4vw, 10px);
  max-width: 640px;
  width: 100%;
  margin: 0 auto;
}
.marife-cf7-wrap * {
  box-sizing: border-box;
}

.marife-cf7-title {
  color: #ffffff;
  font-weight: 700;
  font-size: clamp(22px, 3vw, 30px);
  margin: 0 0 clamp(16px, 2.5vw, 28px);
}

/* Contact Form 7 encapsule chaque champ dans un <p> par defaut */
.marife-cf7-wrap p {
  margin: 0 0 clamp(14px, 2vw, 20px);
}

.marife-cf7-wrap label {
  display: block;
  color: #ffffff;
  font-size: clamp(13px, 1.3vw, 14px);
  font-weight: 500;
  margin-bottom: 0px;
}

.marife-cf7-wrap input[type="text"],
.marife-cf7-wrap input[type="email"],
.marife-cf7-wrap input[type="tel"],
.marife-cf7-wrap select,
.marife-cf7-wrap textarea {
  width: 100%;
  background: var(--marife-green-field);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  color: #ffffff;
  font-size: clamp(13px, 1.3vw, 15px);
  padding: 14px 20px;
  outline: none;
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
  appearance: none;
  -webkit-appearance: none;
}

.marife-cf7-wrap textarea {
  border-radius: 20px;
  max-height: 110px;
  resize: vertical;
  line-height: 1.5;
}

.marife-cf7-wrap input::placeholder,
.marife-cf7-wrap textarea::placeholder {
  color: var(--marife-text-soft);
  opacity: 1;
}

.marife-cf7-wrap select {
  color: var(--marife-text-soft);
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bcd9cd' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 16px;
  padding-right: 44px;
}
.marife-cf7-wrap select:valid {
  color: #ffffff;
}

.marife-cf7-wrap input:focus,
.marife-cf7-wrap select:focus,
.marife-cf7-wrap textarea:focus {
  border-color: var(--marife-gold);
  background: #35735a;
}

/* Bouton d'envoi */
.marife-cf7-wrap input[type="submit"] {
  width: 100%;
  background: var(--marife-gold);
  color: #ffffff;
  font-weight: 700;
  font-size: clamp(14px, 1.4vw, 16px);
  border: none;
  border-radius: 999px;
  padding: 16px 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(50% + 5.5em) center;
  background-size: 18px;
  cursor: pointer;
  transition:
    background 0.15s ease,
    transform 0.1s ease;
  position: relative;
}
.marife-cf7-wrap input[type="submit"]:hover {
  background-color: var(--marife-gold-hover);
}
.marife-cf7-wrap input[type="submit"]:active {
  transform: scale(0.98);
}
.marife-cf7-wrap input[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Etats de validation / envoi de Contact Form 7 */
.marife-cf7-wrap .wpcf7-not-valid-tip {
  color: #ffb4b4;
  font-size: 12px;
  margin-top: 6px;
  display: block;
}
.marife-cf7-wrap .wpcf7-response-output {
  border-radius: 12px;
  color: #ffffff;
  font-size: 13px;
  margin-top: 16px;
  padding: 12px 16px;
}
.marife-cf7-wrap form.sent .wpcf7-response-output {
  background: rgba(255, 255, 255, 0.12);
  border-color: transparent;
}
.marife-cf7-wrap form.invalid .wpcf7-response-output,
.marife-cf7-wrap form.failed .wpcf7-response-output {
  background: rgba(255, 90, 90, 0.15);
  border-color: transparent;
}

/* Spinner CF7 natif : on le garde discret sur fond fonce */
.marife-cf7-wrap .wpcf7-spinner {
  filter: invert(1) brightness(2);
}

/* ---------- Responsive ---------- */
@media (max-width: 480px) {
  .marife-cf7-wrap {
    border-radius: 16px;
  }
  .marife-cf7-wrap input[type="text"],
  .marife-cf7-wrap input[type="email"],
  .marife-cf7-wrap select,
  .marife-cf7-wrap textarea {
    padding: 12px 16px;
  }
}

.left-side-contact-footer figure.elementor-image-box-img {
  background: #fff;
  width: 55px;
  padding: 6px;
  border-radius: 11px;
}
.marife-cpt-card {
  background: #f6f6f6;
}
.marife-cpt-thumb {
  display: block;
  aspect-ratio: 8 / 3;
}

.marife-cpt-title a {
  font-weight: 700;
  font-size: 25px;
  line-height: 30px;
}

.marife-cpt-excerpt {
  font-size: 16px;
  line-height: 20px;
  color: #000;
}
.marife-cpt-thumb img {
  border-radius: 12px;
}
a.marife-cpt-link {
  color: #4e625d;
  font-weight: 700;
}

.marife-carousel__head {
  display: none;
}

.marife-carousel,
.marife-news,
.marife-related {
  padding: 0px;
}
.marife-news__item h3 a {
  font-weight: 700;
}

body
  .marife-shop
  ul.marife-products
  li.marife-product
  .marife-product__media
  img,
body ul.products li.marife-product .marife-product__media img {
  height: 245px;
}

.added_to_cart.alt,
.added_to_cart,
.widget a.button.checkout,
.added_to_cart.alt:hover,
.added_to_cart:hover,
.widget a.button.checkout:hover {
  background-color: #edede9;
}

h1.marife-banner__title {
  color: #fff;
}
.marife-prod-title a {
  font-weight: 600;
}

.marife-search button {
  position: absolute;
  right: 4px;
  top: 3px;
  height: 41px;
}
.marife-search button svg {
  position: relative;
  left: -8px;
}

h1.marife-banner__title {
  text-transform: uppercase;
}

a:focus,
button:focus,
.button.alt:focus,
input:focus,
textarea:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus {
  outline-color: transparent !important;
}

.single-product div.product::before, .single-product div.product::after {
    content: "";
    display: none;
}

.marife-prod-rating,
.marife-prod-price,
.marife-prod-desc,
.marife-prod-title {
  padding: 0px 15px !important;
}

.marife-prod-card {
  padding: 0px !important;
}

.marife-prod-wrapper .marife-badge {
  position: absolute;
  top: 0px !important;
}

.marife-prod-cta {
  padding: 15px 15px !important;
}

.marife-product__foot {
	justify-content: center!important;
}
a.marife-cart.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    color: #fff;
}

@media (min-width: 768px) {
    .storefront-full-width-content .up-sells>h2:first-child, .storefront-full-width-content .related.products>h2:first-child {
        text-align: left!important;
    }
}

.marife-product__media {
	aspect-ratio: 1 / 0!important;}

@media (max-width: 600px) {
	.marife-header-cart.has-dropdown.is-open .marife-cart-dropdown {
		position: fixed;
		top: auto; 
		right: 16px;
		left: 16px;
		width: auto;
		max-width: none;
	}
}

.product_list_widget li>a {
	color: #000!important;
}

.wc-block-components-button:not(.is-link) {
	background-color: #0e5742!important;}

.gtranslate_wrapper .gt_selector {
 background-color:transparent!important;
	color:#fff!important;
	padding: 1px 0px!important;}

.wpcf7-response-output {
    color: #fff!important;
    border-color: #d9a521!important;
}

.storefront-full-width-content.single-product div.product .summary {
  width: 100% !important;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	max-width: 400px !important;}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs::before, .single-product div.product .woocommerce-product-gallery .flex-control-thumbs::after {
    content: "";
    display: none !important;
}