/*!
Theme Name: perenoel
Theme URI: http://underscores.me/
Author: Cyril LIONDOR
Author URI: http://cliondor@gmail.com
Description: A theme from scratch by Cyril LIONDOR
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: perenoel
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.
perenoel is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/* =========================================
   GLOBAL
========================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family: "Cinzel Decorative", serif;
  font-weight: 400;
  font-style: normal;
background-color: #fff;
color:red;
    line-height: 1.6;
}
body.home{
        background: #0d0d0d;
    color: #fff;
}
h1{
     font-family: "Great Vibes", cursive;
}
h2 {
    font-size: 37px;
    font-family: "Great Vibes", cursive;
    font-weight: 400;
    font-style: normal;
    margin-bottom: 10px;
    color:#daa520
}
.sub {
     margin-bottom: 40px;
    font-weight:600;
    text-shadow:
        0 0 7px #ffffff,
        0 0 10px #ffffff,
        0 0 13px #ffffff,
        0 0 15px #ffffff,
        0 0 25px #ffffff,
}
a {
    color: #ffcc4d;
}
/* =========================================
   BUTTONS
========================================= */
.btn-primary {
    display: inline-block;
    background: goldenrod;
    color: red;
    padding: 14px 30px;
    border-radius: 40px;
    color: red;
    font-weight: 600;
    transition: .2s;
    margin: 18px auto;
    text-decoration: none;
}
.btn-primary:hover {
    transform: scale(1.05);
}
.btn-primary.full {
    width: 100%;
    border: none;
}
/* =========================================
   HERO
========================================= */
.hero {
    position: relative;
    /*padding: 150px 6%;*/
    padding: 50px 6%;
    text-align: center;
    background: radial-gradient(circle at center, #aa2020, #3a0000 70%);
    /* min-height: 100vh;
    background-image: url(img/a-white-70yearold-man-dressed-as-santa-claus-with-__15335.jpeg);
    background-size: cover;
    background-position: center;*/
    z-index: 3;
}
.badge {
    display: inline-block;
    padding: 8px 20px;
    background: rgba(255,255,255,0.1);
    border-radius: 30px;
    /* margin-bottom: 20px; */
    font-size: 14px;
}
.hero-container-img{
    width: 100%;
    max-width: 450px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}
.hero-title {
    font-size: 55px;
    font-weight: 800;
    line-height: 1.1;
}
.hero-title span {
    color:goldenrod
}
.hero-subtitle {
    margin-top: 10px;
    margin-bottom: 20px;
    font-size: 22px;
}
.hero-subtitle strong{
    color: goldenrod;
    font-size:32px
}
.hero-features {
    margin-top: 35px;
    display: flex;
    justify-content: center;
    gap: 25px;
    /* opacity: .8; */
     color: goldenrod;
     color: #ffd9ad;
    font-weight:700
}
@media(max-width:750px){
    .hero-features{
        flex-direction: column;
    }
}
.hero-image img{
    max-width: 100%;
}
/* =========================================
   STEPS
========================================= */
.steps {
    padding: 60px 6%;
    background: #ffffff;
    color: red;
    padding-bottom: 0;
}
.steps img{
    max-width: 100%;
    border-radius: 100%;
    width: 270px;
    height: 270px;
    object-fit: cover;
}
.steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
    gap: 30px;
}
.step-card {
    background: rgba(255,255,255,0.05);
    padding: 25px;
    padding-top: 0;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.08);
}
/* =========================================
   PRICING
========================================= */
.pricing {
    padding: 60px 6%;
    text-align: center;
    /* background: #009688; */
    /* background-image:url('img/christmas-red-background-with-golden-lights-decoration.jpg'); */
    background-size:cover;
    background-position:center;
    color: red;
    background: #ffffff;
     background-image:url('img/6750.jpg');
    background-size:cover;
    position:relative;
    top:-2px
}
.sepp{
    position:relative;
    top:-30px;
  margin:0 auto;
    width:250px;
    height:35px;
      background-image:url('img/sep.svg');
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
}
.price-card {
    max-width: 500px;
    margin: 0 auto;
    /* background: linear-gradient(180deg,#2a0000,#120000); */
    background:#ffffff4f;
    backdrop-filter: blur(2px);
    border-radius: 20px;
    padding: 18px;
    border-radius: 20px;
    color: #3b0000;
    border: 1px solid rgb(255 255 255 / 61%);
}
.price-box {
    font-size: 80px;
    font-weight: 800;
    color: #3b0000;
}
.price-sub {
    margin-top: -10px;
    opacity: .8;
}
.pricing ul {
    list-style:none
}
.pricing ul li{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-direction:column;
    padding:5px;
    border-bottom:2px dotted red
}
.info-box h4 {
    margin-top: 19px;
}
.incl-title {
    margin-top: 35px;
    font-size: 22px;
}
.features li {
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
/* =========================================
   ZONE
========================================= */
.zone {
    padding: 60px 6%;
    text-align: center;
    background: radial-gradient(circle at top, #3a0000, #aa2020 70%);
    /* background-image:url('img/6750.jpg');
    background-size:cover;
    min-height: 850px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    color: #000000; */
}
.cities {
    column-count: 2;
    list-style: none;
    text-align: left;
    margin: 0 auto 30px;
    max-width: 500px;
    line-height: 1.9;
}
.note {
    opacity: .7;
}
/* =========================================
   TESTIMONIALS
========================================= */
.testimonials {
    padding: 60px 6%;
    background: white;
    color: red;
}
.testi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
    gap: 25px;
}
.testi-card {
    background: rgba(255,255,255,0.06);
    padding: 25px;
    border-radius: 15px;
}
.testi-card p{
    font-family: system-ui, -apple-system, BlinkMacSystemFont,
                 "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
/* =========================================
   FORM
========================================= */
.reservation {
    padding: 60px 6%;
    text-align: center;
       background-size:cover;
    background-position:center;
    color: red;
    background: #ffffff;
     background-image:url('img/6750.jpg');
    background-size:cover;
    position:relative;
    top:-2px
}
.form {
    max-width: 450px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
input, textarea {
    /* background: #1a1a1a; */
    border: none;
    /* color: #fff; */
    padding: 14px;
    border-radius: 8px;
}
/* =========================================
   FOOTER
========================================= */
.footer {
    padding: 60px 6%;
    text-align: center;
    /* opacity: .8; */
    background: radial-gradient(circle at top, #3a0000, #aa2020 70%);
}
.footer .zone{
    background:none
}
.footer a {
    color: #ffcc4d;
}
/* ===========================
   SNOWFALL
=========================== */
.snowflake {
    position: fixed;
    top: -30px;
    background: white;
    border-radius: 50%;
    pointer-events: none;
    animation-name: snowfall;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    z-index: 9999;
}
@keyframes snowfall {
    0% {
        transform: translateY(0) rotate(0deg);
    }
    100% {
        transform: translateY(110vh) rotate(360deg);
    }
}
.wrapSnow{
    opacity: 0;
    transition: all 1250ms ease-out;
    position: relative;
    z-index: 1;
}
.wrapSnow.show{
    opacity: 1;
}
.site-main{
    padding: 60px 6%;
    background: #ffffff;
    color: red;
    padding-bottom: 0;
}
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained,
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained
{
    background: #FFC107;
    color: red;
    font-weight: 600;
    text-decoration: none;
    border:none;
    min-width:300px
}
/* =========================================
   CHECKOUT PAGE
========================================= */
.woocommerce-checkout {
    padding: 0;
    background: #ffffff;
    color: red;
}
/* En-tÃªte du checkout */
#order_review_heading {
    font-size: 37px;
    font-family: "Great Vibes", cursive;
    font-weight: 400;
    text-align: center;
    margin: 40px 0 30px;
    color: #daa520;
}
/* Section code promo */
.woocommerce-form-coupon-toggle {
    text-align: center;
    margin-bottom: 30px;
}
.woocommerce-info {
    background: rgba(218, 165, 32, 0.1);
    border: 2px solid #daa520;
    border-radius: 15px;
    padding: 15px 20px;
    color: red;
}
.woocommerce-info a.showcoupon {
    color: #daa520;
    font-weight: 600;
    text-decoration: underline;
    transition: .2s;
}
.woocommerce-info a.showcoupon:hover {
    color: #b8860b;
}
.checkout_coupon {
    background: rgba(218, 165, 32, 0.05);
    border: 1px solid #daa520;
    border-radius: 15px;
    padding: 25px;
    margin: 20px 0;
}
.checkout_coupon input[type="text"] {
    background: #fff;
    border: 2px solid #daa520;
    color: red;
    padding: 14px;
    border-radius: 8px;
    width: 100%;
}
.checkout_coupon button {
    background: goldenrod;
    color: red;
    padding: 14px 30px;
    border-radius: 40px;
    border: none;
    font-weight: 600;
    transition: .2s;
    cursor: pointer;
    font-family: "Cinzel Decorative", serif;
}
.checkout_coupon button:hover {
    transform: scale(1.05);
}
/* Titres des sections */
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3 {
    font-size: 32px;
    font-family: "Great Vibes", cursive;
    font-weight: 400;
    margin-bottom: 25px;
    color: #daa520;
}
/* Champs de formulaire */
.form-row {
    margin-bottom: 20px;
}
.form-row label {
    color: red;
    font-weight: 600;
    display: block;
    margin-bottom: 8px;
}
.form-row .required {
    color: #daa520;
}
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"],
.form-row textarea,
.form-row select {
    background: #fff;
    border: 2px solid #daa520;
    color: red;
    padding: 14px;
    border-radius: 8px;
    width: 100%;
    font-family: "Cinzel Decorative", serif;
    transition: .2s;
    min-height: 47px;
}
.form-row input:focus,
.form-row textarea:focus,
.form-row select:focus {
    outline: none;
    border-color: goldenrod;
    box-shadow: 0 0 10px rgba(218, 165, 32, 0.3);
}
.form-row textarea {
    min-height: 100px;
    resize: vertical;
}
/* Select2 custom styling */
.select2-container--default .select2-selection--single {
    background: #fff;
    border: 2px solid #daa520 !important;
    border-radius: 8px;
    height: auto;
    padding: 14px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: red;
    line-height: normal;
    padding: 0;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 10px;
}
/* Layout deux colonnes */
.col2-set {
    display: block!important;
    grid-template-columns: 1fr 1fr!important;
    gap: 40px!important;
    margin-bottom: 40px!important;
}
@media (max-width: 768px) {
    .col2-set {
        grid-template-columns: 1fr;
    }
}
/* Tableau rÃ©capitulatif de commande */
#order_review {
    background: rgba(218, 165, 32, 0.05);
    border: 2px solid #daa520;
    border-radius: 20px;
    padding: 0;
    margin-top: 40px;
}
.shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
.shop_table thead th {
    background: #daa520;
    color: #fff;
    padding: 15px;
    text-align: left;
    font-weight: 600;
    border-radius: 8px 8px 0 0;
}
.shop_table tbody td {
    padding: 20px 15px;
    border-bottom: 2px dotted #daa520;
    color: red;
    width: 100%;
    display: block!important;
}
.shop_table .product-name {
    font-weight: 600;
}
.shop_table .product-quantity {
    color: #daa520;
}
/* Variations de produit */
.variation {
    margin-top: 15px;
    padding: 0;
    background: rgba(218, 165, 32, 0.1);
    border-radius: 8px;
    width: 100%;
}
.variation dt {
    font-weight: 600;
    color: #daa520;
    margin-top: 10px;
}
.variation dd {
    margin: 5px 0 0 20px;
    color: red;
}
.variation dd p {
    margin: 0;
}
/* Footer du tableau (totaux) */
.shop_table tfoot th,
.shop_table tfoot td {
    padding: 15px;
    font-weight: 600;
}
.shop_table .cart-subtotal th,
.shop_table .cart-subtotal td {
    border-top: 2px solid #daa520;
}
.shop_table .order-total {
    background: rgba(218, 165, 32, 0.1);
}
.shop_table .order-total th {
    font-size: 20px;
    color: #daa520;
}
.shop_table .order-total td {
    font-size: 24px;
    color: red;
}
/* Section paiement */
#payment {
    margin-top: 30px;
}
.wc_payment_methods {
    list-style: none;
    padding: 0;
}
.wc_payment_method {
    background: rgba(218, 165, 32, 0.05);
    border: 2px solid #daa520;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 15px;
}
.wc_payment_method label {
    color: red;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
}
.wc_payment_method input[type="radio"] {
    display: inline-block !important;
    width: auto;
    margin: 0;
}
.payment_box {
    margin-top: 15px;
    padding: 15px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 8px;
    color: red;
}
/* Politique de confidentialitÃ© */
.woocommerce-terms-and-conditions-wrapper {
    background: rgba(218, 165, 32, 0.1);
    border: 1px solid #daa520;
    border-radius: 12px;
    padding: 20px;
    margin: 20px 0;
}
.woocommerce-privacy-policy-text p {
    margin: 0;
    color: red;
    line-height: 1.6;
}
.woocommerce-privacy-policy-link {
    color: #daa520;
    font-weight: 600;
}
/* Bouton de commande */
.place-order {
    text-align: center;
    margin-top: 30px;
}
#place_order {
    display: inline-block;
    background: goldenrod;
    color: red;
    padding: 18px 50px;
    border-radius: 40px;
    font-weight: 700;
    font-size: 18px;
    transition: .2s;
    border: none;
    cursor: pointer;
    font-family: "Cinzel Decorative", serif;
    min-width: 0;
}
#place_order:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 20px rgba(218, 165, 32, 0.4);
}
/* Prix */
.woocommerce-Price-amount {
    color: red;
    font-weight: 600;
}
.woocommerce-Price-currencySymbol {
    color: #daa520;
}
/* Messages d'erreur */
.woocommerce-error,
.woocommerce-message {
    background: rgba(218, 165, 32, 0.1);
    border-left: 5px solid #daa520;
    border-radius: 8px;
    padding: 15px 20px;
    margin-bottom: 20px;
    color: red;
}
/* Responsive */
@media (max-width: 768px) {
    .form-row-first,
    .form-row-last {
        width: 100% !important;
    }
    td.product-name,
    tr.cart_item{
         display: block!important;
         min-width: 100% !important;
    }
    .shop_table thead {
        display: none;
    }
    .shop_table tbody td {
        display: block;
        text-align: right;
        padding: 10px;
    }
    .shop_table tbody td::before {
        content: attr(data-title);
        float: left;
        font-weight: 600;
        color: #daa520;
    }
}
/* Animation au chargement */
.woocommerce-checkout {
    animation: fadeIn 0.5s ease-in;
}
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
header.header_logo img {
    width: 170px;
    margin: 20px auto;
    display: block;
}
header.header_logo  {
       padding: 5px;
       box-shadow: 0px 1px 20px 0px #0000007a;
       position: sticky;
       top: 0;
       background: #fff;
       z-index: 9;
}


.hero-image img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    height: auto!important;
}

