/*
 * ProChampi — couche graphique publique dynamique
 * ------------------------------------------------
 * But :
 * - conserver la logique Laravel récente ;
 * - rapprocher les écrans dynamiques du front Myco historique ;
 * - ne pas écraser les carrousels/pages statiques restaurés.
 */

body {
    background:
        radial-gradient(circle at 10% 3%, rgba(46,114,70,.26), transparent 26%),
        radial-gradient(circle at 89% 34%, rgba(191,146,65,.09), transparent 24%),
        #04130c;
}

.hero-store {
    min-height: 470px;
    isolation: isolate;
    border-bottom: 1px solid rgba(206,170,92,.32);
    background:
        linear-gradient(90deg,rgba(2,15,9,.90),rgba(5,28,17,.48),rgba(2,13,8,.72)),
        url('/images/gallery-forest-backdrop.webp') center / cover;
    box-shadow:
        inset 0 -70px 90px rgba(2,12,8,.68),
        0 25px 70px rgba(0,0,0,.28);
}

.hero-store.compact-hero {
    min-height: 390px;
}

.hero-store > div {
    position: relative;
    z-index: 3;
    max-width: 900px;
    padding: 24px;
}

.hero-store h1 {
    text-wrap: balance;
    text-shadow: 0 5px 35px rgba(0,0,0,.58);
}

.hero-store h1 em {
    color: #edcd83;
    font-style: italic;
}

.hero-store p {
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
}

.hero-store:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 74%, rgba(239,194,92,.22) 0 2px, transparent 3px),
        radial-gradient(circle at 32% 25%, rgba(239,210,129,.17) 0 1px, transparent 3px),
        radial-gradient(circle at 79% 61%, rgba(220,187,90,.18) 0 2px, transparent 4px),
        radial-gradient(circle at 87% 18%, rgba(185,226,174,.13) 0 2px, transparent 4px);
}

.store-wrap {
    position: relative;
    max-width: 1380px;
}

.section-head {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.section-head h1,
.section-head h2 {
    text-wrap: balance;
    color: #f5ead5;
    text-shadow: 0 8px 28px rgba(0,0,0,.28);
}

.section-head:after {
    content: "✦";
    display: block;
    margin-top: 22px;
    color: #d9ae55;
    opacity: .75;
}

.commerce-intro-myco {
    max-width: 980px;
    margin: 0 auto 46px;
    padding: 30px 32px;
    border: 1px solid rgba(194,157,80,.42);
    background:
        radial-gradient(circle at 95% 10%,rgba(222,178,87,.10),transparent 28%),
        linear-gradient(145deg,rgba(18,58,36,.92),rgba(5,25,16,.96));
    box-shadow: 0 25px 70px rgba(0,0,0,.22);
    text-align: center;
}

.commerce-intro-myco h1,
.commerce-intro-myco h2 {
    margin: 8px 0 12px;
    font: clamp(40px,6vw,66px)/1 Georgia,serif;
    color: #f3d996;
}

.commerce-intro-myco p:last-child {
    max-width: 760px;
    margin: auto;
    line-height: 1.75;
    color: #bfd0c4;
}

/* Boutique */

.product-grid {
    gap: 28px;
}

.product-card {
    border-color: rgba(177,144,73,.48);
    background:
        radial-gradient(circle at 100% 0,rgba(217,174,85,.10),transparent 30%),
        linear-gradient(155deg,#123a25,#06190f);
    box-shadow:
        0 24px 65px rgba(0,0,0,.38),
        inset 0 1px rgba(255,255,255,.035);
}

.product-card:hover {
    transform: translateY(-8px);
    border-color: #d3ad5e;
    box-shadow:
        0 35px 85px rgba(0,0,0,.46),
        0 0 40px rgba(198,153,66,.10);
}

.product-visual:after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    box-shadow: inset 0 -55px 70px rgba(2,16,10,.30);
}

.product-copy {
    position: relative;
}

.product-copy h2 {
    color: #f5e2b3;
}

.product-meta {
    border-top-color: rgba(210,175,95,.25);
}

/* Panier / commande */

.cart-page,
.checkout-myco-page {
    padding-top: 52px;
}

.cart-lines,
.cart-summary,
.checkout-card {
    border-color: rgba(193,157,78,.45);
    background:
        radial-gradient(circle at 100% 0,rgba(219,174,83,.07),transparent 26%),
        linear-gradient(145deg,rgba(12,44,28,.96),rgba(5,23,14,.98));
    box-shadow: 0 26px 72px rgba(0,0,0,.28);
}

.cart-line {
    border-bottom-color: rgba(207,172,93,.20);
}

.cart-line:hover {
    background: rgba(32,74,48,.24);
}

.cart-thumb {
    overflow: hidden;
    border-color: rgba(216,179,93,.38);
    background: #071c12;
}

.cart-summary {
    border-top: 3px solid #b99146;
}

.cart-summary h2,
.checkout-card h2,
.shipping-box h2 {
    color: #f3d58e;
}

.cart-summary .grand {
    margin-top: 8px;
    border-top: 1px solid rgba(220,183,96,.36);
    font-size: 23px;
}

.shipping-box {
    background:
        linear-gradient(145deg,rgba(17,55,35,.80),rgba(6,25,16,.90));
}

.store-button {
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}

.store-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow: 0 13px 30px rgba(0,0,0,.30);
}

/* Formulaires */

.cart-fields input,
.cart-fields select,
.cart-fields textarea,
.account-fields-v48 input,
.account-fields-v48 select,
.account-fields-v48 textarea,
.promo-form input,
.portal-auth input {
    border-color: rgba(155,135,83,.58);
    border-radius: 3px;
    background: rgba(3,18,11,.88);
    box-shadow: inset 0 1px 8px rgba(0,0,0,.22);
}

.cart-fields input:focus,
.cart-fields select:focus,
.cart-fields textarea:focus,
.account-fields-v48 input:focus,
.account-fields-v48 select:focus,
.account-fields-v48 textarea:focus,
.portal-auth input:focus {
    outline: 1px solid #d5b05f;
    border-color: #d5b05f;
    box-shadow:
        0 0 0 3px rgba(213,176,95,.10),
        inset 0 1px 8px rgba(0,0,0,.22);
}

.portal-auth {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(28px,5vw,52px);
}

.portal-auth:before {
    content: "✦";
    display: block;
    margin-bottom: 20px;
    color: #d9ae55;
    text-align: center;
    font-size: 22px;
}

/* Inscription */

.account-page-v48 {
    background:
        radial-gradient(circle at 85% 15%,rgba(215,171,79,.08),transparent 24%);
}

.account-hero-v48,
.account-section-v48,
.account-type-v48,
.account-consents-v48 {
    border-color: rgba(192,154,75,.40);
}

.account-section-v48 {
    background:
        linear-gradient(145deg,rgba(15,51,32,.92),rgba(5,23,14,.96));
}

/* Revendeurs */

.reseller-layout {
    gap: 34px;
}

.europe-map {
    border-color: rgba(209,174,93,.52);
    box-shadow:
        0 30px 80px rgba(0,0,0,.38),
        inset 0 0 80px rgba(4,25,15,.50);
}

.reseller-list .info-panel {
    border-color: rgba(182,149,77,.38);
    transition: transform .2s ease,border-color .2s ease;
}

.reseller-list .info-panel:hover {
    transform: translateX(-4px);
    border-color: #c49c4f;
}

/* Infos pratiques */

.practical-guide-page .practical-card,
.practical-guide-page .practical-feature,
.practical-guide-page .practical-faq details {
    border-color: rgba(185,150,75,.40);
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.practical-guide-page .practical-card:hover {
    border-color: #d2aa57;
    box-shadow: 0 28px 70px rgba(0,0,0,.28);
}

/* Blocs techniques commerce : plus discrets */

.commerce-capabilities-v48 {
    margin-top: 70px;
    opacity: .92;
}

.capability-card-v48 {
    border-color: rgba(151,130,76,.34);
}

/* Messages */

.store-notice {
    border-color: rgba(124,172,117,.65);
    box-shadow: 0 13px 35px rgba(0,0,0,.18);
}

.store-error {
    box-shadow: 0 13px 35px rgba(0,0,0,.18);
}

@media (max-width: 850px) {
    .hero-store {
        min-height: 390px;
        padding-top: 62px;
        padding-bottom: 62px;
    }

    .hero-store.compact-hero {
        min-height: 330px;
    }

    .commerce-intro-myco {
        padding: 24px 20px;
    }

    .cart-page,
    .checkout-myco-page {
        padding-top: 34px;
    }
}


/* ==========================================================
   PROCHAMPI MYCO LOT 3
   Produits / comptes / formulaires / header / footer
   ========================================================== */

/* Header final dynamique */

#prochampi-home-header .announcement {
    position: relative;
    overflow: hidden;
    box-shadow: 0 1px 0 rgba(255,255,255,.08);
}

#prochampi-home-header .announcement:after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            100deg,
            transparent 0 38%,
            rgba(255,255,255,.18) 48%,
            transparent 58% 100%
        );
    transform: translateX(-120%);
    animation: pcAnnouncementGlow 9s ease-in-out infinite;
}

@keyframes pcAnnouncementGlow {
    0%,72% { transform:translateX(-120%); }
    86%,100% { transform:translateX(120%); }
}

#prochampi-home-header .topbar {
    backdrop-filter: blur(15px);
    box-shadow:
        0 14px 40px rgba(0,0,0,.24),
        inset 0 -1px rgba(213,174,83,.13);
}

#prochampi-home-header .new-brand img {
    filter:
        drop-shadow(0 8px 18px rgba(0,0,0,.28))
        saturate(1.05);
}

#prochampi-home-header .nav > a,
#prochampi-home-header .products-trigger {
    transition:
        color .2s ease,
        transform .2s ease;
}

#prochampi-home-header .nav > a:hover,
#prochampi-home-header .products-trigger:hover {
    transform: translateY(-1px);
}

#prochampi-home-header .header-tools > a {
    transition:
        transform .18s ease,
        background .18s ease;
}

#prochampi-home-header .header-tools > a:hover {
    transform: translateY(-2px);
}

/* Mega menu */

#prochampi-home-header .mega-menu {
    box-shadow:
        0 35px 80px rgba(0,0,0,.46),
        inset 0 1px rgba(255,255,255,.04);
}

#prochampi-home-header .mega-products > a {
    transition:
        transform .2s ease,
        filter .2s ease;
}

#prochampi-home-header .mega-products > a:hover {
    transform: translateY(-5px);
    filter: brightness(1.05);
}

/* Fiche produit */

.product-myco-page {
    padding-top: 46px;
    padding-bottom: 80px;
}

.product-myco-page .back {
    display: inline-flex;
    margin-bottom: 25px;
}

.product-myco-page .product-detail {
    overflow: hidden;
    border: 1px solid rgba(200,163,82,.40);
    border-radius: 4px;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(220,178,89,.09),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            rgba(17,57,36,.96),
            rgba(4,21,13,.98)
        );
    box-shadow: 0 32px 85px rgba(0,0,0,.34);
}

.product-myco-page .detail-image {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background: #06190f;
}

.product-myco-page .detail-image:after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            transparent 58%,
            rgba(2,18,11,.45)
        );
}

.product-myco-page .detail-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .7s ease,
        filter .7s ease;
}

.product-myco-page .product-detail:hover .detail-image img {
    transform: scale(1.025);
    filter: saturate(1.06);
}

.product-myco-page .detail-copy {
    padding: clamp(28px,5vw,58px);
}

.product-myco-page .product-title {
    color: #f6e4b8;
    text-wrap: balance;
    text-shadow: 0 8px 28px rgba(0,0,0,.25);
}

.product-myco-page .lead {
    max-width: 650px;
    line-height: 1.75;
    color: #c5d5ca;
}

.product-myco-page .detail-price {
    color: #efcd7b;
    text-shadow: 0 4px 18px rgba(0,0,0,.30);
}

.product-myco-page .stock-pill {
    border-color: rgba(139,191,124,.50);
    box-shadow: 0 0 25px rgba(111,176,101,.08);
}

.product-myco-page .buy-box {
    margin-top: 25px;
    border: 1px solid rgba(204,168,86,.32);
    background:
        linear-gradient(
            145deg,
            rgba(19,63,39,.82),
            rgba(4,24,15,.88)
        );
    box-shadow: inset 0 1px rgba(255,255,255,.025);
}

.product-myco-page .spec {
    border-color: rgba(177,146,76,.32);
    background: rgba(3,22,13,.62);
}

.product-myco-page .detail-panels {
    margin-top: 35px;
}

.product-myco-page .detail-panels .info-panel {
    border-color: rgba(181,149,77,.38);
    background:
        linear-gradient(
            150deg,
            rgba(14,48,30,.94),
            rgba(5,23,14,.97)
        );
    box-shadow: 0 18px 50px rgba(0,0,0,.20);
}

.product-myco-page .detail-panels h2 {
    color: #f0d493;
}

/* Connexion / sécurité */

.account-login-myco-hero,
.account-security-myco-hero {
    background:
        linear-gradient(
            90deg,
            rgba(2,18,11,.92),
            rgba(5,35,22,.52),
            rgba(2,15,9,.66)
        ),
        url('/images/communication-center-broceliande-v1.webp')
        center / cover;
}

.portal-auth {
    position: relative;
    margin-top: 42px;
    margin-bottom: 72px;
    overflow: hidden;
}

.portal-auth:after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -120px;
    top: -120px;
    border-radius: 50%;
    pointer-events: none;
    background:
        radial-gradient(
            circle,
            rgba(222,181,88,.12),
            transparent 68%
        );
}

.portal-auth form {
    position: relative;
    z-index: 2;
}

.portal-auth-actions {
    gap: 14px;
}

.portal-auth-actions a {
    color: #e6c778;
}

/* Inscription */

.myco-register-page {
    padding-bottom: 85px;
}

.myco-register-page .account-hero-v48 {
    box-shadow: 0 30px 75px rgba(0,0,0,.30);
}

.myco-register-page .account-workspace-v48 {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.myco-register-page .account-section-v48 {
    box-shadow: 0 18px 48px rgba(0,0,0,.16);
}

.myco-register-page .account-section-v48 > header span {
    color: #e7c36b;
}

.myco-register-page .account-submit-v48 {
    min-height: 56px;
    font-size: 15px;
}

/* Confirmation création compte */

.myco-account-confirmation {
    min-height: 70vh;
    display: grid;
    place-items: center;
    padding-top: 60px;
    padding-bottom: 80px;
}

.myco-account-confirmation > section {
    width: min(760px,100%);
    padding: clamp(32px,6vw,60px);
    border: 1px solid rgba(214,174,84,.65);
    background:
        radial-gradient(
            circle at 80% 0,
            rgba(221,180,86,.11),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            rgba(16,57,36,.96),
            rgba(4,23,14,.98)
        );
    box-shadow: 0 35px 85px rgba(0,0,0,.38);
    text-align: center;
}

.myco-account-confirmation .confirmation-mark {
    margin: 20px auto;
    box-shadow:
        0 0 0 8px rgba(213,174,83,.08),
        0 0 30px rgba(213,174,83,.12);
}

/* Newsletter */

.pc-newsletter-public-card {
    box-shadow:
        0 32px 90px rgba(0,0,0,.50),
        inset 0 1px rgba(255,255,255,.04);
}

/* Confirmation commande */

.pc-confirmation-card,
.pc-payment-strip {
    box-shadow:
        0 28px 75px rgba(0,0,0,.40),
        inset 0 1px rgba(255,255,255,.035);
}

/* Suivi messages */

.pc-followup-hero {
    box-shadow:
        inset 0 -60px 80px rgba(2,15,9,.30);
}

.pc-followup .conversation-thread {
    box-shadow:
        inset 0 14px 30px rgba(0,0,0,.15),
        0 20px 55px rgba(0,0,0,.20);
}

.pc-followup .conversation-bubble {
    box-shadow: 0 7px 20px rgba(0,0,0,.14);
}

/* Footer final */

#prochampi-home-footer {
    position: relative;
    overflow: hidden;
}

#prochampi-home-footer:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(218,177,83,.07),
            transparent 22%
        ),
        radial-gradient(
            circle at 85% 42%,
            rgba(92,154,101,.08),
            transparent 24%
        );
}

#prochampi-home-footer > * {
    position: relative;
}

#prochampi-home-footer .footer-portal {
    transition:
        transform .22s ease,
        filter .22s ease;
}

#prochampi-home-footer .footer-portal:hover {
    transform: translateY(-4px);
    filter: brightness(1.05);
}

#prochampi-home-footer .footer-brand-new img {
    filter:
        drop-shadow(0 9px 22px rgba(0,0,0,.28))
        saturate(1.04);
}

#prochampi-home-footer .footer-newsletter {
    border-color: rgba(199,163,82,.30);
}

#prochampi-home-footer .ik-newsletter input {
    background: rgba(3,20,12,.78);
    border-color: rgba(165,143,86,.45);
}

#prochampi-home-footer .ik-newsletter input:focus {
    outline: 1px solid #d7b25e;
    border-color: #d7b25e;
}

/* Responsive */

@media (max-width: 850px) {
    .product-myco-page {
        padding-top: 28px;
    }

    .product-myco-page .detail-image {
        min-height: 340px;
    }

    .myco-account-confirmation {
        padding-top: 35px;
    }
}
