

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

body:not(.iframed) {
   background-color: white;
   margin: 0; 
   padding: 0px max(calc(10px + 1dvw), calc((100dvw - 1400px) / 2 + 10px));
   font-family: "Crimson Text", serif; font-weight: 100;
   color: #484848;
   height: 100dvh;
   width: 100dvw;
   display: flex;
   flex-direction: column;
   overflow: hidden;
} 

body.iframed {
   background-color: white;
   margin: 0; 
   padding: 20px
   font-family: "Crimson Text", serif; font-weight: 100;
   color: #484848;
}
 
.header {
   height: 70px; 
   padding: 5px 0px;
   margin-top:10px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   border-bottom: 1px solid #CCC;
}

.header h1 {
   font-size: 24px;
   font-weight: normal;
}

.header-nav a {
   margin-left: 20px;
   text-decoration: none;
   color: #333;
}

.scrollable-container {
   //flex: 1;
   overflow-y: auto;
   scrollbar-width: none;
   
   background:
      /* Shadow Cover TOP */
      linear-gradient(
        white 30%,
        rgba(255, 255, 255, 0)
      ) center top,
      
      /* Shadow Cover BOTTOM */
      linear-gradient(
        rgba(255, 255, 255, 0), 
        white 70%
      ) center bottom,
      
      /* Shadow TOP */
      radial-gradient(
        farthest-side at 50% 0,
        rgba(0, 0, 0, 0.2),
        rgba(0, 0, 0, 0)
      ) center top,
      
      /* Shadow BOTTOM */
      radial-gradient(
        farthest-side at 50% 100%,
        rgba(0, 0, 0, 0.2),
        rgba(0, 0, 0, 0)
      ) center bottom;
     
     background-repeat: no-repeat;
     background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
     background-attachment: local, local, scroll, scroll;
}



H2 { font-size: 24px; font-weight: 100; padding-top: 5px !important;}
.artwork {
   margin-bottom: 30px;
}

.artwork img {
   width: 100%;
   height: auto;
   display: block;
   margin-bottom: 10px;
}

.artwork h2 {
   font-size: 18px;
   font-weight: normal;
   margin-bottom: 5px;
}

.artwork p {
   font-size: 14px;
   color: #666;
}

.footer {
   height: 40px;
   display: flex;
   
   
   justify-content: space-between;
   //align-items: ;
   align-content: stretch;
   border-top: 1px solid #CCCCCC;
}

.footer-nav a {
   margin-left: 10px;
   text-decoration: none;
   color: #333;
}
//.footer > * { background-color:yellow; padding-top:10px}
SPAN.sous-titre {
   font-family: "Roboto Condensed", sans-serif;
   font-size: clamp(10px, calc(10px + 0.4dvw), 15.5px);
   letter-spacing: 3px;
   text-wrap: nowrap;
   color: #c59d64;
   -webkit-transform: none;
   -moz-transform: none;
   -o-transform: none;
   transform: none;
   font-weight: 300;
}

.cdc {
   border-bottom: 1px solid #CCC;
   padding: 5px 0px 5px 15px;
}

#contentOfPage { 
   height: calc(100dvh - 130px) !IMPORTANT;
   display: flex;
}
#contentFocus { 
   width:calc(100% / 8 * 5); 
}
#onStart {
   background-color: #f6f3ee;
   margin: 15px 15px 15px 0px;
   height: calc(100dvh - 160px);
   overflow-y: auto;
   display: block !important;
   text-align: center;
   //padding-top: calc(40dvh - 350px);			
}
#contentScroll {   
   height: calc(100dvh - 130px);
   width:calc(100% / 8 * 3); 
   overflow-y: auto;
   border-left:1px solid #CCC; 
   scrollbar-width: none;

}

#galerie-panel {
   transition: all 0.8s ease;
   //transition: transform 0.5s ease, opacity 0.5s ease;
}

DIV.cdc:hover {
   background: linear-gradient(rgba(255, 255, 255, 1) 50%, rgba(245, 245, 245, 0.80) 100%);
   cursor: pointer;
}

.cdc:last-child { border: 0px;}

.cdc DIV {

   height: 0;
   overflow: hidden;
   opacity: 0;
   transition: 
      height 1s ease-in-out,
      opacity 0.5s ease-in-out,
}

.cdc DIV.show {
   
   height: fit-content; /* Une valeur suffisamment grande */
   opacity: 1;
}


.masonery {
   columns: 3;
   max-height: fit-content;
   column-gap: 0px;
}
.masonery A IMG.vignette { width: 100%;}
.masonery A {
   width: fit-content;
   transform: scale(1.04);
   clip-path: inset(8px);
   transition: all 1s cubic-bezier(.06,.76,.37,1);
   //transition: all 1s ease-in-out;
   position: relative;
}

.masonery A:hover {
   //width: 100%;
   transform: scale(1.10);
   clip-path: inset(12px);

}

#contentFocus {
  position: relative;
  overflow: hidden;
}

.vue-content {
  position: relative;
  width: 100%;
}

.w100 { max-width: 100%;}
.w80 { max-width: 80%;}
.w60 { max-width: 60%;}
.w40 { max-width: 40%;}

#theplace { cursor: zoom-in; }
@media only screen and (max-width: 720px){ 
   .sous-titre { display: none;}
   #theplace { justify-content: center !important;}
   #contentOfPage { 
      display: block;
      //height: calc(100dvh - 260px);
   }
   #contentOfPage > DIV {  width:100% !important; }
   #contentFocus { height: fit-content;}
   #contentScroll { border-left: 0px; 
      overflow-y: none;
      height: fit-content;
   }
   .cdc { padding: 5px 0px;
   }
   .w100, .w80, .w60, .w40 { max-width: 100%; max-height:75% !important;}
}

.fancybox-thumbs {
  top: auto !important;
  width: auto  !important;
  bottom: 0  !important;
  left: 0  !important;
  right: 0  !important;
  height: 95px  !important;
  padding: 10px 10px 5px 10px  !important;
  box-sizing: border-box  !important;
  background: rgba(0, 0, 0, 0.3)  !important;
}

.fancybox-show-thumbs .fancybox-thumbs__list a:before {
   border:3px solid #c59d64;;
}
.fancybox-show-thumbs .fancybox-thumbs__list  {
   margin: 0 auto;
}
.fancybox-show-thumbs .fancybox-thumbs__list A {

   width: 75px !important;
}


.fancybox-show-thumbs .fancybox-inner {
  right: 0  !important;
  bottom: 95px  !important;
}

Q { font-style: italic;}



.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

header.bto {
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    margin-bottom:10px;
    text-align: center;
}


.article-image img {
    max-width: 100%;
   max-width: 100%;
    object-fit: cover;
}

.article-info {
    padding: 20px;
}

.price {
   font-family: "Roboto Condensed", sans-serif;
    font-size: clamp(10px, calc(10px + 0.4dvw), 15.5px);
    letter-spacing: 3px;
    text-wrap: nowrap;
    color: #c59d64;
    margin: 25px 0px;
}

.btn {
    display: inline-block;
    background: #c59d64;
    color: white;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    transition: background 0.3s ease;
}

.btn:hover {
    background: #866a43;
}

.btn.secondary {
    background: #6c757d;
}

.btn.secondary:hover {
    background: #545b62;
}

.article-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    margin: 0 auto;
    width: fit-content;
}

.article-details .article-image {
   width: fit-content;
}
   
.article-details .article-image img {
    border-radius: 8px;
}

.article-details h2 {
    color: #003087;
    margin-bottom: 15px;
}

.security-notice {
    background: #e7f3ff;
    padding: 10px;
    border-radius: 4px;
    text-align: center;
    margin-top: 20px;
    font-size: 0.9em;
}

#paypal-button-container {
    margin: 20px 0;
}

.confirmation, .cancellation {
    background: #fff;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
}

.confirmation-details {
    text-align: left;
    background: #f8f9fa;
    padding: 20px;
    border-radius: 4px;
    margin: 20px 0;
}

.confirmation-details p {
    margin-bottom: 10px;
}

.status {
    color: #28a745;
    font-weight: bold;
}

.success h2 {
    color: #28a745;
    margin-bottom: 20px;
}

.error {
    color: #dc3545;
    background: #f8d7da;
    padding: 20px;
    border-radius: 4px;
    margin: 20px 0;
}

.actions {
    margin-top: 30px;
}

.actions .btn {
    margin: 0 10px;
}


/* Responsive */
@media (max-width: 768px) {
    .article-details {
        grid-template-columns: 1fr;
    }
    
    .articles-grid {
        grid-template-columns: 1fr;
    }
    
    .container {
        padding: 10px;
    }
}

/* Bouton PayPal personnalisé */
.custom-paypal-button {
    margin: 20px 0;
}

.btn-paypal-custom {
    background: #ffc439;
    border: none;
    border-radius: 4px;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: bold;
    color: #111;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.btn-paypal-custom:hover {
    background: #f2b600;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

.btn-paypal-custom:active {
    transform: translateY(0);
}

.btn-paypal-custom img {
    height: 20px;
    width: auto;
}

/* Variantes de boutons */
.btn-paypal-gold { background: #ffc439; color: #111; }
.btn-paypal-blue { background: #0070ba; color: white; }
.btn-paypal-white { background: white; color: #0070ba; border: 2px solid #0070ba; }

/* Loading state */
.btn-paypal-custom.loading {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-paypal-custom.loading::after {
    content: '...';
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0%, 33% { content: '.'; }
    34%, 66% { content: '..'; }
    67%, 100% { content: '...'; }
}

IFRAME { border: 1px solid #555; }