[hidden] { display: none !important; }
body.modal-open { overflow: hidden; }
.form-feedback { min-height: 20px; margin: 12px 0 0; font-size: 12px; line-height: 1.5; }
.form-feedback.success { color: #9be0b7; }.form-feedback.error { color: #f1a28d; }
.product-dialog-backdrop { display: grid; }
.product-dialog-image img { width: 100%; height: 100%; object-fit: contain; }
.legal-page { min-height: 65vh; }.legal-hero { padding-bottom: 55px; }.legal-content { max-width: 960px; margin: auto; padding: 70px 6vw 110px; }.legal-section { padding: 32px 0; border-bottom: 1px solid var(--line); }.legal-section h2 { margin: 0 0 18px; font: 30px Georgia,serif; }.legal-section p, .legal-section li { color: var(--muted); line-height: 1.75; }.legal-section a { color: var(--clay-light); border-bottom: 1px solid var(--clay); }
.admin-page { min-height: 100vh; background: #090908; }.admin-header { min-height: 92px; padding: 15px 4vw; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); background: #050505; }.admin-header img { width: 240px; height: 72px; object-fit: cover; object-position: center; }.admin-header nav { display: flex; gap: 12px; align-items: center; }.admin-header a { padding: 11px 14px; border: 1px solid var(--line); color: #ddd5c7; font-size: 12px; }.admin-main { max-width: 1450px; margin: auto; padding: 42px 4vw 90px; }.admin-main > h1 { margin: 0 0 30px; font: 42px Georgia,serif; }.admin-tabs { margin-bottom: 24px; display: flex; gap: 8px; flex-wrap: wrap; }.admin-tabs a { padding: 11px 15px; border: 1px solid var(--line); background: #12110f; color: #c8c0b1; }.admin-tabs a.active { border-color: var(--clay); color: var(--clay-light); }.admin-panel-ftp { padding: 25px; border: 1px solid var(--line); background: #12110f; }.admin-grid-ftp { display: grid; grid-template-columns: minmax(330px,.7fr) minmax(0,1.3fr); gap: 24px; align-items: start; }.admin-form-ftp { display: grid; gap: 15px; }.admin-form-ftp label { display: grid; gap: 7px; color: #b9b09f; font-size: 11px; }.admin-form-ftp input, .admin-form-ftp textarea, .admin-form-ftp select { background: #080807; color: #f4eee2; }.admin-form-ftp .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.admin-actions { display: flex; gap: 8px; flex-wrap: wrap; }.admin-button { min-height: 42px; padding: 10px 15px; border: 1px solid var(--clay); background: #2a2414; color: var(--clay-light); cursor: pointer; }.admin-button.danger { border-color: #733d32; background: #321b17; color: #efa18e; }.admin-table-ftp { width: 100%; border-collapse: collapse; }.admin-table-ftp th, .admin-table-ftp td { padding: 13px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; font-size: 11px; }.admin-table-ftp th { color: var(--clay-light); text-transform: uppercase; letter-spacing: .08em; }.admin-product-thumb { width: 65px; height: 65px; object-fit: contain; background: #050505; }.admin-gallery-ftp { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }.admin-gallery-ftp label { padding: 6px; border: 1px solid var(--line); }.admin-gallery-ftp img { width: 100%; height: 90px; object-fit: contain; background: #050505; }.admin-login { min-height: 100vh; display: grid; place-items: center; padding: 25px; background: radial-gradient(circle at 50% 10%,#2a2414,#050505 55%); }.admin-login-card { width: min(430px,100%); padding: 36px; border: 1px solid var(--line); background: #11100f; }.admin-login-card img { width: 270px; height: 115px; margin: auto; object-fit: cover; object-position: center; }.notice { padding: 13px 15px; border: 1px solid var(--line); background: #1a1710; color: #e8dba9; font-size: 12px; }
@media (max-width:780px){.admin-header img{width:190px;height:60px}.admin-header nav a:first-child{display:none}.admin-main{padding-inline:16px}.admin-grid-ftp{grid-template-columns:1fr}.admin-panel-ftp{padding:17px;overflow:auto}.admin-form-ftp .form-row{grid-template-columns:1fr}.admin-gallery-ftp{grid-template-columns:repeat(2,1fr)}.admin-table-ftp{min-width:700px}.legal-content{padding-inline:20px}}

/* Administration PHP : reprise fidèle de l’interface noire et or du projet. */
.admin-shell .admin-main { max-width: none; margin: 0; padding: 0; }
.admin-sidebar nav a { width: 100%; min-height: 45px; display: flex; align-items: center; gap: 13px; padding: 0 14px; border: 0; border-radius: 6px; background: transparent; color: #969083; text-align: left; font-size: 12px; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.active { background: rgba(212,175,55,.1); color: #fff4d1; }
.admin-sidebar nav a.active { box-shadow: inset 3px 0 var(--clay); }
.admin-sidebar nav a i { width: 22px; color: var(--clay); font-style: normal; font-size: 17px; }
.admin-sidebar nav a b { margin-left: auto; min-width: 22px; height: 22px; padding: 0 6px; display: grid; place-items: center; border-radius: 99px; background: var(--clay); color: #080808; font-size: 9px; }
.admin-primary, .admin-secondary { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.quick-actions a { width: 100%; display: grid; grid-template-columns: 36px 1fr auto; gap: 12px; align-items: center; padding: 15px 0; border-top: 1px solid rgba(212,175,55,.13); color: inherit; text-align: left; }
.quick-actions a > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(212,175,55,.1); color: var(--clay-light); border: 1px solid rgba(212,175,55,.18); }
.quick-actions a strong, .quick-actions a small { display: block; }
.quick-actions a strong { font-size: 11px; }
.quick-actions a small { margin-top: 3px; color: #8f897d; font-size: 9px; }
.quick-actions a i { color: #a9a293; font-style: normal; }
.table-actions form, .inquiry-actions form { margin: 0; }
.table-actions a, .table-actions button { min-height: 31px; display: inline-flex; align-items: center; padding: 7px 9px; border: 1px solid rgba(212,175,55,.18); background: #24221c; color: #d6cebf; font-size: 9px; cursor: pointer; }
.table-actions a:hover, .table-actions button:hover { border-color: var(--clay); }
.editor-close { border: 0; background: transparent; color: #eee7da; font-size: 27px; line-height: 1; }
.product-editor-remove { min-height: 36px; display: flex !important; align-items: center; gap: 8px; padding-top: 8px; color: #ef9d88 !important; font-size: 9px; cursor: pointer; }
.product-editor-remove input { width: 15px; height: 15px; accent-color: #b88b23; }
.product-management-panel > .panel-title h3 { font-size: 23px; }
.product-management-panel > .panel-title p { font-size: 12px; line-height: 1.5; }
.product-management-panel > .panel-title .admin-primary { min-height: 42px; font-size: 12px; }
.product-management-panel .admin-table { min-width: 900px; }
.product-management-panel .admin-table th { padding-block: 15px; font-size: 10px; }
.product-management-panel .admin-table td { padding-block: 17px; font-size: 13px; line-height: 1.45; }
.product-management-panel .table-product { gap: 14px; }
.product-management-panel .table-product > div { width: 52px; height: 52px; flex: 0 0 52px; }
.product-management-panel .table-product strong { font-size: 14px; line-height: 1.25; }
.product-management-panel .table-product small { font-size: 11px; }
.product-management-panel .status-pill { padding: 7px 11px; font-size: 10px; }
.product-management-panel .table-actions a,
.product-management-panel .table-actions button { min-height: 38px; padding: 9px 11px; font-size: 11px; }
.product-management-editor header h2 { font-size: 32px; }
.product-management-editor label { font-size: 13px; }
.product-management-editor input,
.product-management-editor select,
.product-management-editor textarea { font-size: 14px; line-height: 1.5; }
.product-management-editor label small,
.product-management-editor .editor-guidance p,
.product-management-editor .media-dropzone small,
.product-management-editor .product-editor-gallery-title small,
.product-management-editor .product-editor-gallery-empty small { font-size: 11px; }
.product-management-editor .media-dropzone b { font-size: 19px; }
.product-management-editor .product-editor-gallery-title { font-size: 12px; }
.product-management-editor .product-editor-remove { font-size: 11px; }
.product-management-editor footer .admin-primary,
.product-management-editor footer .admin-secondary { font-size: 12px; }
.inquiry-actions button { padding: 0; border: 0; background: transparent; color: #e38f78; cursor: pointer; font-size: 9px; }
.admin-notice, .admin-error { max-width: min(440px,calc(100vw - 32px)); }
.admin-accounts-intro { margin-bottom: 22px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.admin-accounts-intro h2 { margin: 8px 0 7px; color: #f0e9dc; font: 34px/1.05 Georgia,serif; }
.admin-accounts-intro p { max-width: 610px; margin: 0; color: #8f897d; font-size: 11px; line-height: 1.6; }
.admin-accounts-panel { margin-bottom: 18px; }
.admin-accounts-table { min-width: 960px; }
.admin-account-identity { min-width: 225px; display: flex; align-items: center; gap: 11px; }
.admin-account-identity > span { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border: 1px solid rgba(212,175,55,.25); border-radius: 50%; background: rgba(212,175,55,.1); color: var(--clay-light); font: 16px Georgia,serif; }
.admin-account-identity strong, .admin-account-identity small { display: block; }
.admin-account-identity strong { color: #eee7da; font-size: 10px; }
.admin-account-identity small { margin-top: 4px; color: #8f897d; font-size: 9px; }
.admin-role-pill { display: inline-flex; padding: 6px 9px; border-radius: 99px; font-size: 8px; }
.admin-role-pill.owner { border: 1px solid rgba(212,175,55,.35); background: rgba(212,175,55,.12); color: #f2d984; }
.admin-role-pill.manager { border: 1px solid rgba(145,155,150,.2); background: #20211f; color: #bbb7ad; }
.admin-access-status { display: inline-flex; align-items: center; gap: 7px; color: #aba497; font-size: 9px; }
.admin-access-status i { width: 7px; height: 7px; border-radius: 50%; background: #6f716d; box-shadow: 0 0 0 3px rgba(111,113,109,.12); }
.admin-access-status.active i { background: #72c798; box-shadow: 0 0 0 3px rgba(114,199,152,.12); }
.admin-access-status.disabled { color: #d48c78; }.admin-access-status.disabled i { background: #c76f59; box-shadow: 0 0 0 3px rgba(199,111,89,.12); }
.muted-cell { color: #777267; }
.admin-audit-panel { padding-bottom: 8px; }
.admin-audit-list { display: grid; }
.admin-audit-list > div { min-height: 58px; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 12px; align-items: center; border-top: 1px solid rgba(212,175,55,.12); }
.admin-audit-list > div > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: rgba(212,175,55,.08); color: #d7bc6b; font: 12px Georgia,serif; }
.admin-audit-list strong, .admin-audit-list small { display: block; }
.admin-audit-list strong { color: #e7e0d3; font-size: 10px; }.admin-audit-list small { max-width: 680px; margin-top: 4px; overflow: hidden; color: #8f897d; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.admin-audit-list time { color: #777267; font-size: 8px; }
.admin-password-block { display: grid; gap: 15px; padding: 17px; border: 1px solid rgba(212,175,55,.17); background: #0b0b0a; }
.admin-password-block p { margin: 5px 0 0; color: #8f897d; font-size: 9px; line-height: 1.5; }
.admin-account-editor { width: min(680px,96vw); }

@media (max-width:1050px) {
  .admin-sidebar nav a { justify-content: center; padding: 0; font-size: 0; }
  .admin-sidebar nav a i { width: auto; }
  .admin-sidebar nav a b { display: none; }
}
@media (max-width:780px) {
  .admin-shell .admin-main { padding: 0; }
  .admin-sidebar nav a { min-height: 52px; display: grid; place-items: center; gap: 0; font-size: 0; }
  .admin-sidebar nav a i { font-size: 18px; }
  .admin-sidebar nav a.active { box-shadow: inset 0 -3px var(--clay); }
  .table-actions { justify-content: flex-start; }
}

/* Adaptation complète tablette et smartphone, sans modifier les grands écrans. */
@media (min-width:781px) and (max-width:1050px) {
  .service-grid, .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shop-new-products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 240px; }
  .shop-new-product.featured { min-height: 430px; grid-column: 1 / -1; grid-row: auto; }
  .service-card:last-child { grid-column: 1 / -1; width: min(520px,100%); justify-self: center; }
  .cart-layout { grid-template-columns: minmax(0,1fr) 340px; gap: 34px; }
  .contact-layout, .atelier-story, .shop-teaser { gap: 5vw; }
  .site-footer { gap: 45px; }
  .admin-content { padding-inline: 24px; }
  .admin-table { min-width: 720px; }
}

@media (max-width:780px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
  body { -webkit-text-size-adjust: 100%; }
  main, section, article, aside, header, footer, nav, form, div { min-width: 0; }
  img, video { max-width: 100%; }
  button, input, select, textarea, summary, .button, .text-link { touch-action: manipulation; }
  input, select, textarea { min-height: 48px; font-size: 16px; }
  textarea { min-height: 130px; }

  .site-header { height: 80px; padding: 8px 14px; gap: 8px; }
  .wordmark { width: min(205px,calc(100vw - 92px)); height: 64px; flex: 0 1 auto; justify-content: flex-start; }
  .brand-logo { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
  .header-actions { margin-left: auto; }
  .mobile-menu { position: relative; z-index: 120; }
  .mobile-menu summary { position: relative; z-index: 122; min-width: 54px; min-height: 48px; padding: 0; display: grid; place-items: center; border: 1px solid rgba(212,175,55,.55); border-radius: 15px; background: linear-gradient(145deg,rgba(212,175,55,.12),rgba(212,175,55,.025)); box-shadow: inset 0 1px rgba(255,255,255,.05),0 8px 24px rgba(0,0,0,.32); }
  .mobile-menu summary::after { content: ""; position: absolute; inset: 4px; border: 1px solid rgba(242,218,145,.08); border-radius: 11px; pointer-events: none; }
  .mobile-menu .menu-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .hamburger-icon { width: 22px; height: 16px; position: relative; display: block; }
  .hamburger-icon i { position: absolute; left: 0; width: 22px; height: 1.5px; border-radius: 4px; background: linear-gradient(90deg,#b98e27,#f5df9a); transform-origin: center; transition: transform .25s ease,top .25s ease,opacity .18s ease; }
  .hamburger-icon i:nth-child(1) { top: 0; }
  .hamburger-icon i:nth-child(2) { top: 7px; width: 16px; left: 6px; }
  .hamburger-icon i:nth-child(3) { top: 14px; }
  .mobile-menu[open] .hamburger-icon i:nth-child(1) { top: 7px; transform: rotate(45deg); }
  .mobile-menu[open] .hamburger-icon i:nth-child(2) { opacity: 0; transform: translateX(6px); }
  .mobile-menu[open] .hamburger-icon i:nth-child(3) { top: 7px; transform: rotate(-45deg); }
  .mobile-menu[open]::before { content: ""; position: fixed; inset: 105px 0 0; z-index: 118; background: rgba(0,0,0,.6); backdrop-filter: blur(4px); pointer-events: none; }
  .mobile-menu[open] nav { position: fixed; left: 10px; right: 10px; top: 112px; z-index: 121; min-width: 0; max-height: calc(100dvh - 124px); overflow-y: auto; padding: 10px 14px 14px; border: 1px solid rgba(212,175,55,.32); border-radius: 5px 5px 22px 22px; background: radial-gradient(circle at 90% 0,rgba(212,175,55,.13),transparent 35%),linear-gradient(155deg,#151411,#090909 72%); box-shadow: 0 30px 70px rgba(0,0,0,.72); animation: mobile-menu-in .22s ease-out both; }
  .mobile-menu-heading { min-height: 64px; display: flex; align-items: end; justify-content: space-between; gap: 14px; padding: 11px 6px 13px; border-bottom: 1px solid rgba(212,175,55,.2); }
  .mobile-menu-heading span { color: #f3e7ca; font: 24px/1 Georgia,serif; }
  .mobile-menu-heading small { color: #9c927d; font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
  .mobile-menu nav a { min-height: 58px; display: grid; grid-template-columns: 30px 1fr auto; gap: 12px; align-items: center; padding: 0 7px; border-bottom: 1px solid rgba(212,175,55,.13); color: #eee7d9; font: 18px/1.2 Georgia,serif; }
  .mobile-menu nav a b { color: #b78d25; font: 8px/1 Arial,sans-serif; letter-spacing: .12em; }
  .mobile-menu nav a i { color: #d4af37; font: 15px/1 Arial,sans-serif; }
  .mobile-menu nav a em { min-width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg,#f2da8c,#ae821d); color: #080808; font: 700 11px/1 Arial,sans-serif; }
  .mobile-menu nav a:last-child { margin-top: 8px; padding-inline: 10px; border: 1px solid rgba(212,175,55,.25); border-radius: 12px; background: rgba(212,175,55,.07); }

  .hero { min-height: auto; padding: 48px 18px 34px; gap: 34px; }
  .hero-copy { max-width: none; }
  .hero h1, .page-hero h1, .contact-intro h1 { max-width: 100%; overflow-wrap: break-word; hyphens: auto; }
  .hero-copy > p, .page-hero > p, .contact-intro > p { font-size: 15px; }
  .hero-actions { align-items: stretch; gap: 14px; }
  .hero-actions .button { min-height: 50px; }
  .hero-visual { width: 100%; min-height: 0; aspect-ratio: 4 / 3; }
  .hero-image { inset: 0; border-radius: 72px 4px 4px; }
  .hero-image img { object-fit: contain; }
  .hero-note { margin-top: 30px; }
  .intro-strip { min-height: 62px; padding: 0 18px; gap: 24px; scroll-snap-type: x proximity; }
  .intro-strip p { scroll-snap-align: start; }

  .section-pad { padding: 72px 18px; }
  .split-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 34px; }
  .split-heading > p { margin: 0; }
  .service-grid { grid-template-columns: 1fr; gap: 16px; }
  .service-card, .service-card-photo { width: 100%; min-height: 0; }
  .service-photo { height: auto; flex-basis: auto; aspect-ratio: 4 / 3; }
  .service-photo img { object-fit: contain; }
  .service-photo-copy { min-height: 250px; padding: 25px 22px; }
  .service-photo-copy h3 { padding-right: 48px; max-width: none; font-size: 27px; }
  .service-photo-copy > a { min-height: 48px; align-items: center; }

  .atelier-story { grid-template-columns: 1fr; gap: 42px; }
  .story-visual, .story-visual-collection { min-height: 0; aspect-ratio: 1 / 1; }
  .story-main-image, .story-main-image-collection { inset: 0; border-radius: 5px 70px 5px 5px; }
  .story-main-image > img { object-fit: contain; }
  .story-copy { padding: 0; }
  .story-lead { font-size: 18px; }
  .story-points > div { grid-template-columns: 24px 1fr; gap: 10px 12px; }
  .story-points h3 { font-size: 18px; }
  .story-points p { grid-column: 2; }

  .process-section, .shop-teaser { grid-template-columns: 1fr; gap: 38px; }
  .process-list li { grid-template-columns: 42px 1fr; gap: 16px; }
  .shop-teaser-art { width: 100%; height: auto; aspect-ratio: 1659 / 948; }
  .shop-teaser-logo img { object-fit: contain; }
  .closing-cta { padding: 72px 18px; }

  .page-hero, .compact-page-hero, .shop-page-hero { padding: 54px 18px 44px; text-align: left; }
  .page-hero h1 { margin-inline: 0; }
  .page-hero > p { margin-inline: 0; }
  .shop-content.section-pad { padding: 34px 14px 64px; }
  .shop-toolbar { align-items: flex-start; gap: 8px; }
  .shop-new-products { margin: 28px 0 38px; padding: 22px 0 22px 18px; }
  .shop-new-products-heading { margin: 0 18px 20px 0; align-items: start; flex-direction: column; gap: 12px; }
  .shop-new-products-heading > p { font-size: 11px; }
  .shop-new-products-grid { display: flex; gap: 12px; padding-right: 18px; overflow-x: auto; scroll-padding-inline: 18px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .shop-new-products-grid::-webkit-scrollbar { display: none; }
  .shop-new-product,
  .shop-new-product.featured { width: min(82vw,340px); min-width: min(82vw,340px); height: 390px; min-height: 390px; flex: 0 0 min(82vw,340px); scroll-snap-align: start; }
  .shop-new-product.featured .shop-new-product-copy { padding: 18px; }
  .shop-new-product.featured .shop-new-product-copy > strong { font-size: 25px; }
  .shop-new-product.featured .shop-new-product-copy > em { font-size: 16px; }
  .shop-controls { grid-template-columns: 1fr; gap: 14px; }
  .shop-search, .shop-sort, .shop-categories, .shop-result-count { grid-column: 1; }
  .shop-categories { margin-inline: -14px; padding-inline: 14px; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  .shop-categories::-webkit-scrollbar { display: none; }
  .shop-categories button { min-height: 44px; flex: 0 0 auto; white-space: nowrap; }
  .product-grid { grid-template-columns: 1fr; gap: 18px; margin-top: 26px; }
  .product-card { width: 100%; padding: 8px; }
  .product-image { height: auto; aspect-ratio: 1 / 1; }
  .product-card-copy { min-height: 0; padding: 17px 8px 13px; display: grid; gap: 11px; }
  .product-card-copy > strong { justify-self: start; }
  .product-card-actions { grid-template-columns: 1fr; gap: 8px; }
  .product-details-link, .product-add { width: 100%; min-height: 50px; }
  .shop-assurances { grid-template-columns: 1fr; gap: 10px; margin-top: 56px; }
  .shop-assurances article { min-height: 0; }

  .product-dialog-backdrop { padding: 0; place-items: stretch; }
  .product-dialog { width: 100vw; height: 100dvh; max-height: 100dvh; grid-template-columns: 1fr; grid-template-rows: auto auto; border: 0; overscroll-behavior: contain; }
  .product-dialog-close { position: fixed; right: 12px; top: 12px; width: 46px; height: 46px; }
  .product-dialog-image { min-height: 0; height: auto; aspect-ratio: 1 / 1; }
  .product-gallery-thumbs { min-height: 80px; }
  .product-dialog-copy { padding: 29px 18px 34px; align-self: auto; }
  .product-dialog-copy h2 { padding-right: 42px; font-size: 34px; }
  .product-dialog-copy .button { width: 100%; min-height: 52px; }

  .cart-layout { grid-template-columns: 1fr; gap: 36px; padding: 34px 14px 64px; }
  .cart-lines-heading { min-height: 0; align-items: flex-start; flex-direction: column; gap: 15px; }
  .cart-line { grid-template-columns: 78px minmax(0,1fr); gap: 13px; align-items: start; }
  .cart-thumb { width: 78px; height: 78px; }
  .cart-line-copy h2 { font-size: 20px; overflow-wrap: anywhere; }
  .cart-line-controls { grid-column: 1 / -1; width: 100%; min-width: 0; display: flex; align-items: flex-end; justify-content: space-between; }
  .checkout-card { position: static; padding: 23px 18px; }
  .checkout-card .button { width: 100%; min-height: 52px; }

  .contact-layout { grid-template-columns: 1fr; gap: 40px; padding: 58px 18px 70px; }
  .contact-intro { position: static; }
  .contact-details { margin-top: 34px; }
  .contact-form-wrap { padding: 24px 17px; }
  .contact-form .form-row { grid-template-columns: 1fr; }
  .contact-form .button { width: 100%; min-height: 52px; }
  .legal-content { padding: 44px 18px 70px; }
  .legal-data { grid-template-columns: 1fr; }

  .site-footer { grid-template-columns: 1fr; gap: 36px; padding: 58px 18px 22px; }
  .footer-logo { width: 100%; height: auto; max-height: 92px; object-fit: contain; object-position: left center; }
  .footer-links { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .footer-bottom { gap: 12px; flex-direction: column; line-height: 1.5; }

  .admin-shell { display: block; padding-bottom: 76px; }
  .admin-sidebar { height: 70px; padding: 7px 8px; }
  .admin-sidebar nav { height: 100%; grid-template-columns: repeat(var(--admin-nav-count,6),minmax(0,1fr)); }
  .admin-sidebar nav a { min-width: 0; min-height: 54px; }
  .admin-sidebar nav a i { font-size: 19px; }
  .admin-topbar { min-height: 74px; padding: 13px 14px; }
  .admin-content { padding: 22px 12px 38px; }
  .admin-welcome { gap: 18px; }
  .admin-welcome .admin-primary { width: 100%; min-height: 48px; }
  .stats-grid, .admin-dashboard-grid, .inquiry-grid, .settings-grid { grid-template-columns: 1fr; }
  .stat-card { min-height: 132px; }
  .admin-panel { padding: 18px; }
  .admin-table-panel { padding: 0; }
  .admin-table-panel > .panel-title { padding: 18px 16px; }
  .admin-table-wrap { margin-inline: 0; overflow-x: auto; overscroll-behavior-inline: contain; }
  .admin-table { min-width: 720px; }
  .content-savebar { bottom: 82px; padding: 14px; }
  .content-savebar .admin-primary { min-height: 48px; }
  .editor-backdrop { align-items: stretch; }
  .product-editor { width: 100vw; height: 100dvh; padding: 22px 16px 100px; }
  .product-editor .form-row, .admin-form-grid { grid-template-columns: 1fr; }
  .product-editor-gallery-grid { grid-template-columns: 1fr; }
  .product-editor footer { position: sticky; bottom: -100px; padding: 14px 0; background: #11110f; }
  .product-editor footer > * { flex: 1; min-height: 48px; }
  .admin-accounts-intro { align-items: stretch; flex-direction: column; gap: 16px; }
  .admin-accounts-intro h2 { font-size: 29px; }
  .admin-accounts-intro .admin-primary { width: 100%; min-height: 48px; }
  .admin-audit-list > div { grid-template-columns: 32px minmax(0,1fr); padding: 10px 0; }
  .admin-audit-list time { grid-column: 2; }
  .admin-audit-list small { white-space: normal; }
  .admin-account-editor { width: 100vw; }
}

@keyframes mobile-menu-in { from { opacity: 0; transform: translateY(-8px) scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width:420px) {
  .announcement { font-size: 7px; letter-spacing: .08em; }
  .wordmark { width: min(190px,calc(100vw - 82px)); }
  .hero h1, .page-hero h1, .contact-intro h1 { font-size: clamp(42px,13vw,58px); }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .button, .hero-actions .text-link { width: 100%; min-height: 48px; justify-content: center; }
  .footer-links { grid-template-columns: 1fr; }
  .admin-topbar h1 { font-size: 20px; }
  .admin-user > span { width: 34px; height: 34px; }
}

@media (max-width:780px) {
  .product-management-panel .admin-table { min-width: 880px; }
  .product-management-panel .admin-table th { font-size: 11px; }
  .product-management-panel .admin-table td { font-size: 14px; }
  .product-management-editor label { font-size: 14px; }
  .product-management-editor input,
  .product-management-editor select,
  .product-management-editor textarea { font-size: 16px; }
}

/* Administration : palette charbon clair harmonisée avec le site public. */
:root { --admin-bg: #292620; }
body:has(.admin-shell), .admin-page { background: #292620; }
.admin-shell { background: #292620; color: #f4eee3; }
.admin-sidebar, .admin-header { background: #211e19; border-color: rgba(212,175,55,.3); }
.admin-sidebar nav a, .admin-sidebar nav button, .admin-sidebar-footer a { color: #c1b8a9; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.active,
.admin-sidebar nav button:hover, .admin-sidebar nav button.active { background: rgba(212,175,55,.16); color: #fff4d1; }
.admin-topbar { background: #363129; border-color: rgba(212,175,55,.3); }
.admin-topbar > div:first-child > span, .admin-user small, .admin-welcome p,
.panel-title p, .stat-card > span, .stat-card > small, .activity-list small,
.activity-list time, .quick-actions small, .quick-actions a small,
.settings-list small, .admin-accounts-intro p, .admin-account-identity small,
.admin-audit-list small, .admin-audit-list time, .product-editor label small,
.media-dropzone small, .product-editor-gallery-title small, .admin-password-block p { color: #b9b0a1; }
.admin-user > span, .stat-icon, .activity-list > div > span,
.quick-actions button > span, .quick-actions a > span, .inquiry-card-top > span,
.admin-account-identity > span, .admin-audit-list > div > span,
.admin-empty > span { background: rgba(212,175,55,.16); border-color: rgba(212,175,55,.3); }
.stat-card, .admin-panel, .inquiry-card, .admin-panel-ftp { background: #3a342c; border-color: rgba(212,175,55,.31); }
.admin-secondary, .table-actions a, .table-actions button,
.product-editor-image-actions button, .admin-tabs a { background: #443d33; color: #eee6d8; border-color: rgba(212,175,55,.3); }
.activity-list > div, .quick-actions button, .quick-actions a,
.settings-list > div, .launch-checklist li, .inquiry-card-bottom,
.admin-audit-list > div { border-color: rgba(212,175,55,.24); }
.mini-empty, .admin-empty { color: #b9b0a1; }
.admin-table th { background: #2d2923; color: #c2b9aa; }
.admin-table td { border-color: rgba(212,175,55,.22); color: #d6cebf; }
.admin-table td > strong, .table-product strong, .admin-empty h3,
.admin-account-identity strong, .admin-audit-list strong { color: #f7f0e4; }
.table-subline, .muted-cell { color: #ada496; }
.table-product > div { background: #493f31; }
.status-pill.published { background: #254432; color: #a5e2bd; }
.status-pill.draft, .admin-role-pill.manager { background: #454038; color: #d0c8ba; }
.status-select, .inquiry-card select, .admin-form-grid input,
.admin-form-grid textarea, .product-editor input, .product-editor select,
.product-editor textarea, .admin-form-ftp input, .admin-form-ftp textarea,
.admin-form-ftp select, .admin-login-form input { background: #26231e; border-color: rgba(212,175,55,.4); color: #f7f1e6; }
.inquiry-meta span { background: #4a4133; color: #ded5c5; }
.inquiry-card > p { color: #d0c7b8; }
.content-savebar { background: #27231d; border-color: rgba(212,175,55,.42); box-shadow: 0 15px 40px rgba(0,0,0,.3); }
.content-savebar span { color: #c8bfaf; }
.security-card, .admin-password-block { background: #40382d; border-color: rgba(212,175,55,.3); }
.security-card p, .launch-checklist li { color: #c8bfaf; }
.order-detail-row > td { background: #2d2923; }
.order-customer-note p { background: #40382d; color: #c8bfaf; }
.product-editor { background: #363129; box-shadow: -20px 0 60px rgba(0,0,0,.42); }
.product-editor header, .product-editor footer { border-color: rgba(212,175,55,.28); }
.product-editor-gallery-grid article, .product-editor-gallery-empty { background: #2b2822; border-color: rgba(212,175,55,.28); }
.admin-page .admin-tabs a.active { background: #443a28; }
.admin-button { background: #4a3d24; }
.notice { background: #443a28; }
.admin-login-page, .admin-login { background: radial-gradient(circle at 50% 15%,#514331 0,#302b24 52%,#211e19 100%); }
.admin-login-card { background: rgba(58,52,44,.97); border-color: rgba(212,175,55,.4); box-shadow: 0 35px 90px rgba(0,0,0,.38); }
.admin-login-card > p, .admin-login-card > a { color: #c8bfaf; }

@media (max-width:780px) {
  .product-editor footer { background: #363129; }
}

/* Catégories de la boutique */
.category-summary { display: block; max-width: 260px; color: #d8cfbf; line-height: 1.5; }
.category-management-intro { align-items: center; }
.category-table { min-width: 940px; }
.category-identity { display: flex; align-items: center; gap: 13px; min-width: 230px; }
.category-identity > span { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border: 1px solid rgba(212,175,55,.3); border-radius: 50%; background: #17140d; color: #e0bf55; font-size: 17px; }
.category-identity div { display: grid; gap: 4px; }
.category-identity strong { color: #f4ede0; font: 15px Georgia,serif; }
.category-identity small { max-width: 350px; color: #aca393; font-size: 10px; line-height: 1.45; }
.category-table code { color: #e1c772; font: 11px Consolas,monospace; }
.category-editor { width: min(720px,100%); }
.product-category-picker { margin: 0; padding: 0; border: 0; }
.product-category-picker legend { width: 100%; margin-bottom: 9px; color: #eee6d8; font-size: 13px; }
.product-category-picker legend small { margin-left: 7px; color: #b9b0a1; font-size: 11px; font-weight: 400; }
.product-category-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.product-category-options > label { min-width: 0; min-height: 62px; display: flex; align-items: center; gap: 11px; padding: 10px 12px; border: 1px solid rgba(212,175,55,.22); border-radius: 4px; background: #2b2822; cursor: pointer; }
.product-category-options > label:has(input:checked) { border-color: rgba(212,175,55,.78); background: #39311d; box-shadow: inset 0 0 0 1px rgba(212,175,55,.12); }
.product-category-options input { width: 18px !important; height: 18px !important; flex: 0 0 18px; accent-color: #d4af37; }
.product-category-options span { min-width: 0; display: grid; gap: 4px; }
.product-category-options b { color: #f5eee2; font-size: 13px; }
.product-category-options small { overflow: hidden; color: #aaa190; font-size: 10px !important; text-overflow: ellipsis; white-space: nowrap; }
.category-picker-empty { padding: 15px; border: 1px dashed rgba(212,175,55,.35); color: #e3c976; font-size: 12px; }

@media (max-width:780px) {
  .product-category-options { grid-template-columns: 1fr; }
  .category-management-panel .admin-table { min-width: 940px; }
  .category-editor { width: 100vw; }
}

/* Administration 2026 : contraste noir profond, ivoire nuancé et or. */
:root { --admin-bg: #f0e6d6; }
body:has(.admin-shell), .admin-page { background: #f0e6d6; }
.admin-shell {
  color: #1b1812;
  background: #f0e6d6;
}
.admin-sidebar,
.admin-header {
  color: #f7f2e8;
  background: #050505;
  border-color: rgba(212,175,55,.32);
  box-shadow: 18px 0 48px rgba(26,18,6,.15);
}
.admin-sidebar nav a,
.admin-sidebar nav button,
.admin-sidebar-footer a { color: #bdb4a5; }
.admin-sidebar nav a:hover,
.admin-sidebar nav a.active,
.admin-sidebar nav button:hover,
.admin-sidebar nav button.active {
  color: #fff8e6;
  background: rgba(212,175,55,.14);
}
.admin-sidebar nav a.active,
.admin-sidebar nav button.active { box-shadow: inset 3px 0 #d4af37; }
.admin-sidebar-footer { border-color: rgba(212,175,55,.22); }

/* Logo d'administration agrandi sur les écrans d'ordinateur. */
@media (min-width:1051px) {
  .admin-brand {
    min-height: 142px;
    padding: 0 0 26px;
  }
  .admin-brand img {
    width: 210px;
    height: 126px;
    max-width: 100%;
    object-fit: contain;
    filter: drop-shadow(0 10px 24px rgba(212,175,55,.22));
  }
}

.admin-topbar {
  color: #f7f2e8;
  background: #0b0a08;
  border-color: rgba(212,175,55,.28);
  box-shadow: 0 12px 34px rgba(28,19,5,.13);
}
.admin-topbar h1,
.admin-user strong { color: #f7f2e8; }
.admin-topbar > div:first-child > span,
.admin-user small { color: #aaa294; }
.admin-user > span {
  color: #0a0907;
  background: linear-gradient(135deg,#f3dc93,#d4af37);
  border-color: rgba(243,220,147,.72);
}

.admin-content {
  min-height: calc(100vh - 86px);
  background:
    radial-gradient(circle at 9% 7%,rgba(255,255,255,.96),transparent 28%),
    radial-gradient(circle at 91% 30%,rgba(232,216,187,.68),transparent 36%),
    linear-gradient(135deg,#faf5eb 0%,#f7f2e8 52%,#eadcc4 100%);
}
.admin-welcome h2,
.admin-accounts-intro h2 { color: #1b1812; }
.admin-welcome p,
.admin-accounts-intro p { color: #6d6559; }
.admin-kicker { color: #8e6c18; }
.admin-primary {
  color: #090806;
  background: linear-gradient(135deg,#f3dc93 0%,#d4af37 58%,#a77d1a 100%);
  border: 1px solid rgba(142,108,24,.45);
  box-shadow: 0 10px 26px rgba(116,84,18,.2);
}
.admin-primary:hover { color: #050505; background: linear-gradient(135deg,#fff0b6,#d4af37); }
.admin-secondary,
.admin-tabs a {
  color: #31291d;
  background: #eee3d2;
  border-color: rgba(142,108,24,.3);
}

.stat-card,
.admin-panel,
.admin-panel-ftp {
  color: #1b1812;
  background: rgba(255,253,248,.96);
  border-color: rgba(142,108,24,.26);
  box-shadow: 0 18px 42px rgba(61,43,14,.09),inset 0 1px rgba(255,255,255,.9);
}
.stat-card > span,
.stat-card > small,
.panel-title p,
.quick-actions small,
.quick-actions a small,
.settings-list small { color: #756d61; }
.stat-card > strong,
.panel-title h3,
.quick-actions strong,
.activity-list strong,
.settings-list strong,
.admin-empty h3 { color: #1b1812; }
.stat-icon,
.activity-list > div > span,
.quick-actions button > span,
.quick-actions a > span {
  color: #6f5011;
  background: rgba(212,175,55,.14);
  border-color: rgba(142,108,24,.26);
}
.activity-list > div,
.quick-actions button,
.quick-actions a,
.settings-list > div,
.launch-checklist li { border-color: rgba(142,108,24,.2); }
.mini-empty,
.admin-empty { color: #756d61; }

/* Blocs de gestion fortement contrastés sur l’espace ivoire. */
.product-management-panel,
.category-management-panel,
.admin-accounts-panel,
.admin-audit-panel,
.inquiry-card,
.admin-dashboard-grid > .admin-panel:first-child {
  color: #f7f2e8;
  background: linear-gradient(145deg,#1c1913 0%,#12110f 62%,#070706 100%);
  border-color: rgba(212,175,55,.5);
  box-shadow: 0 24px 55px rgba(34,24,7,.2);
}
.product-management-panel .panel-title h3,
.category-management-panel .panel-title h3,
.admin-accounts-panel .panel-title h3,
.admin-audit-panel .panel-title h3,
.admin-dashboard-grid > .admin-panel:first-child .panel-title h3,
.inquiry-card strong,
.admin-account-identity strong,
.admin-audit-list strong { color: #f7f2e8; }
.product-management-panel .panel-title p,
.category-management-panel .panel-title p,
.admin-accounts-panel .panel-title p,
.admin-audit-panel .panel-title p,
.admin-dashboard-grid > .admin-panel:first-child .panel-title p,
.admin-dashboard-grid > .admin-panel:first-child .activity-list small,
.admin-dashboard-grid > .admin-panel:first-child .activity-list time,
.admin-account-identity small,
.admin-audit-list small,
.admin-audit-list time,
.inquiry-card > p { color: #aaa294; }
.admin-dashboard-grid > .admin-panel:first-child .activity-list > div,
.admin-audit-list > div,
.inquiry-card-bottom { border-color: rgba(212,175,55,.18); }

.admin-table-panel .admin-table th {
  color: #c9c0b0;
  background: #080807;
  border-color: rgba(212,175,55,.2);
}
.admin-table-panel .admin-table td {
  color: #d4cbbc;
  background: rgba(18,17,15,.82);
  border-color: rgba(212,175,55,.16);
}
.admin-table-panel .admin-table tbody tr:hover td { background: #211d15; }
.admin-table-panel .admin-table td > strong,
.admin-table-panel .table-product strong,
.category-identity strong { color: #f7f2e8; }
.admin-table-panel .table-product small,
.category-identity small,
.category-summary,
.muted-cell { color: #aaa294; }
.admin-table-panel .table-product > div {
  background: #050505;
  border: 1px solid rgba(212,175,55,.2);
}
.category-identity > span {
  color: #f3dc93;
  background: rgba(212,175,55,.1);
  border-color: rgba(212,175,55,.4);
}
.category-table code { color: #f3dc93; }
.table-actions a,
.table-actions button,
.product-editor-image-actions button {
  color: #eee5d5;
  background: #29251e;
  border-color: rgba(212,175,55,.28);
}
.table-actions a:hover,
.table-actions button:hover { color: #fff8e6; border-color: #d4af37; }
.table-actions button.danger { color: #f4aa97; background: #351b16; border-color: #7a3c30; }
.status-pill.published { color: #9be0b7; background: #193524; }
.status-pill.draft,
.admin-role-pill.manager { color: #d3cabb; background: #343027; }

/* Formulaires et réglages clairs pour le confort de saisie. */
.admin-form-grid label,
.admin-form-ftp label,
.product-editor label { color: #4f473d; }
.admin-form-grid input,
.admin-form-grid textarea,
.admin-form-grid select,
.admin-form-ftp input,
.admin-form-ftp textarea,
.admin-form-ftp select,
.product-editor input,
.product-editor select,
.product-editor textarea,
.admin-login-form input {
  color: #1b1812;
  background: #fffdf8;
  border-color: rgba(142,108,24,.38);
}
.admin-form-grid input::placeholder,
.admin-form-grid textarea::placeholder,
.product-editor input::placeholder,
.product-editor textarea::placeholder { color: #968b7d; }
.status-select,
.inquiry-card select {
  color: #f7f2e8;
  background: #26221b;
  border-color: rgba(212,175,55,.36);
}
.security-card,
.admin-password-block {
  color: #31291d;
  background: #efe1c8;
  border-color: rgba(142,108,24,.3);
}
.security-card p,
.admin-password-block p,
.launch-checklist li { color: #675e52; }
.content-savebar {
  color: #f7f2e8;
  background: #080807;
  border-color: rgba(212,175,55,.5);
  box-shadow: 0 18px 44px rgba(27,18,5,.28);
}
.content-savebar span { color: #c0b7a8; }

/* Tiroirs d’édition : surface ivoire, médias conservés sur charbon. */
.editor-backdrop { background: rgba(5,5,5,.7); }
.product-editor {
  color: #1b1812;
  background: linear-gradient(145deg,#fffdf8,#f3eadb);
  box-shadow: -24px 0 70px rgba(22,15,4,.34);
}
.product-editor header,
.product-editor footer { border-color: rgba(142,108,24,.28); }
.product-editor header h2,
.product-editor-gallery-title,
.product-category-picker legend { color: #1b1812; }
.editor-close { color: #31291d; }
.editor-guidance,
.media-dropzone {
  color: #4f473d;
  background: rgba(212,175,55,.1);
  border-color: rgba(142,108,24,.32);
}
.media-dropzone b { color: #72581b; }
.product-editor label small,
.editor-guidance p,
.media-dropzone small,
.product-editor-gallery-title small,
.product-category-picker legend small { color: #756d61; }
.product-category-options > label {
  color: #31291d;
  background: #fffdf8;
  border-color: rgba(142,108,24,.25);
}
.product-category-options > label:has(input:checked) {
  background: #efe1c8;
  border-color: rgba(142,108,24,.72);
}
.product-category-options b { color: #1b1812; }
.product-category-options small { color: #756d61; }
.product-editor-gallery-grid article,
.product-editor-gallery-empty {
  color: #aaa294;
  background: #11100e;
  border-color: rgba(212,175,55,.3);
}
.product-editor footer { background: rgba(247,242,232,.96); }

/* Connexion assortie au contraste du site public. */
.admin-login-page,
.admin-login {
  background:
    radial-gradient(circle at 50% 12%,rgba(212,175,55,.24),transparent 34%),
    linear-gradient(145deg,#050505,#17140f 72%,#2a2110);
}
.admin-login-card {
  color: #1b1812;
  background: #f7f2e8;
  border-color: rgba(212,175,55,.58);
  box-shadow: 0 36px 90px rgba(0,0,0,.5);
}
.admin-login-card h1 { color: #1b1812; }
.admin-login-card > p,
.admin-login-card > a { color: #675e52; }

@media (max-width:780px) {
  .admin-sidebar { background: #050505; box-shadow: 0 -12px 34px rgba(20,13,3,.22); }
  .admin-content { min-height: calc(100vh - 144px); }
  .product-editor footer { background: #f3eadb; }
}

/* Centre de téléchargement de l'administration. */
.downloads-intro { margin-bottom: 27px; }
.downloads-intro h2 { margin: 8px 0 9px; color: #1b1812; font: 36px/1.08 Georgia,"Times New Roman",serif; }
.downloads-intro p { max-width: 720px; margin: 0; color: #756d61; font-size: 12px; line-height: 1.65; }
.downloads-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.download-card { min-height: 410px; display: flex; flex-direction: column; padding: 28px; overflow: hidden; position: relative; color: #f7f2e8; border: 1px solid rgba(212,175,55,.5); border-radius: 8px; background: linear-gradient(145deg,#1c1913 0%,#12110f 62%,#070706 100%); box-shadow: 0 24px 55px rgba(34,24,7,.18); }
.download-card::after { content: ""; position: absolute; right: -80px; top: -100px; width: 260px; height: 260px; pointer-events: none; border: 1px solid rgba(212,175,55,.17); border-radius: 50%; box-shadow: 0 0 90px rgba(212,175,55,.09); }
.download-card-top { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 18px; position: relative; z-index: 1; }
.download-platform-icon { width: 54px; height: 54px; display: grid; place-items: center; flex: 0 0 54px; color: #17130a; border-radius: 13px; background: linear-gradient(145deg,#f2dd91,#b88924); box-shadow: inset 0 1px rgba(255,255,255,.55),0 10px 24px rgba(0,0,0,.2); font: 700 15px/1 Georgia,serif; letter-spacing: -.03em; }
.download-card-android .download-platform-icon { border-radius: 50% 50% 12px 12px; }
.download-version { padding: 7px 10px; color: #e6d5a1; border: 1px solid rgba(212,175,55,.28); border-radius: 99px; background: rgba(212,175,55,.08); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.download-card-copy { margin-top: 42px; position: relative; z-index: 1; }
.download-card-copy > span { color: #d7b95e; font-size: 9px; letter-spacing: .15em; }
.download-card-copy h3 { margin: 9px 0 14px; color: #fff9ed; font: 38px/1 Georgia,"Times New Roman",serif; }
.download-card-copy p { max-width: 500px; margin: 0; color: #bdb4a5; font-size: 12px; line-height: 1.7; }
.download-card-meta { min-height: 30px; display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: auto; padding-top: 28px; position: relative; z-index: 1; }
.download-card-meta span { padding: 6px 8px; color: #cfc6b8; border: 1px solid rgba(212,175,55,.18); background: rgba(255,255,255,.035); font-size: 9px; }
.download-button { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 0 17px; position: relative; z-index: 1; color: #17130a; border-radius: 5px; background: linear-gradient(110deg,#efd77f,#c7992f); box-shadow: 0 12px 28px rgba(0,0,0,.22); font-size: 11px; font-weight: 700; }
.download-button:hover { background: linear-gradient(110deg,#f6e39a,#d6aa3f); transform: translateY(-1px); }
.download-button b { font-size: 18px; font-weight: 400; }
.download-install-help { margin-top: 18px; color: #f7f2e8; background: linear-gradient(145deg,#1c1913 0%,#0b0a09 100%); border-color: rgba(212,175,55,.45); }
.download-install-help .panel-title h3 { color: #f7f2e8; }
.download-install-help .panel-title p { color: #aaa294; }
.download-help-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.download-help-grid > div { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 13px; padding: 18px; border: 1px solid rgba(212,175,55,.18); background: rgba(212,175,55,.045); }
.download-help-grid > div > span { width: 36px; height: 36px; display: grid; place-items: center; color: #dbbd66; border: 1px solid rgba(212,175,55,.3); border-radius: 50%; font-size: 9px; }
.download-help-grid strong { color: #f2ebde; font: 17px Georgia,"Times New Roman",serif; }
.download-help-grid p { margin: 7px 0 0; color: #aaa294; font-size: 10px; line-height: 1.65; }
.download-help-grid p b { color: #d8c176; font-weight: 400; }

@media (max-width:780px) {
  .admin-sidebar { overflow: hidden; }
  .admin-sidebar nav { width: 100%; display: flex; gap: 3px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-snap-type: x proximity; }
  .admin-sidebar nav::-webkit-scrollbar { display: none; }
  .admin-sidebar nav a { width: 60px; flex: 0 0 60px; scroll-snap-align: center; }
  .downloads-intro h2 { font-size: 31px; }
  .downloads-grid, .download-help-grid { grid-template-columns: 1fr; }
  .download-card { min-height: 390px; padding: 22px 19px; }
  .download-card-copy { margin-top: 35px; }
  .download-card-copy h3 { font-size: 34px; }
  .download-button { min-height: 54px; }
  .download-install-help { padding: 19px; }
  .download-help-grid > div { padding: 15px; }
}

/* Panier 2026 : composition compacte et tactile sur smartphone. */
@media (max-width:780px) {
  .cart-page-hero .checkout-steps { width: 100%; margin-top: 28px; padding-inline: 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
  .cart-page-hero .checkout-steps span { gap: 7px; font-size: 8px; }
  .cart-page .cart-layout { grid-template-columns: 1fr; gap: 34px; padding: 34px 14px 64px; }
  .cart-page .cart-lines-heading { align-items: stretch; gap: 18px; }
  .cart-page .cart-lines-heading h2 { font-size: 29px; }
  .cart-page .cart-lines-heading .text-link { align-self: flex-start; }
  .cart-page .cart-line { grid-template-columns: 86px minmax(0,1fr); gap: 14px; align-items: center; padding: 10px; }
  .cart-page .cart-thumb { width: 86px; height: 86px; }
  .cart-page .cart-line-copy h3 { margin-bottom: 8px; font-size: 20px; }
  .cart-page .cart-line-copy > strong { font-size: 12px; }
  .cart-page .cart-line-controls { grid-column: 1 / -1; width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 13px; padding: 13px 0 0; border-left: 0; border-top: 1px solid rgba(212,175,55,.2); }
  .cart-page .cart-line-total { grid-column: 1 / -1; }
  .cart-page .quantity-label { justify-content: flex-start; }
  .cart-page .cart-line .remove { align-self: center; justify-self: end; }
  .cart-page .checkout-card { padding: 24px 18px; }
  .checkout-card-heading h2 { font-size: 26px; }
  .cart-page .checkout-total > strong { font-size: 28px; }
  .cart-page .cart-empty { padding: 52px 18px; }
  .product-card-gallery .product-gallery-arrow { width: 44px; height: 44px; background: rgba(7,7,6,.88); }
  .product-card-gallery .product-gallery-arrow.previous { left: 9px; }
  .product-card-gallery .product-gallery-arrow.next { right: 9px; }
  .product-card-gallery .product-gallery-dots { bottom: 15px; }
}
