
:root{--gpf-black:#101010;--gpf-gold:#c4a15a;--gpf-border:#ded8cc}
.gpf-wrap{font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff;line-height:1.55}
.gpf-wrap *{box-sizing:border-box}
.gpf-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:30px;align-items:center;padding:18px 4vw;background:#101010;color:#fff}
.gpf-brand{display:flex;align-items:center;gap:14px}.gpf-monogram{border:1px solid var(--gpf-gold);color:var(--gpf-gold);padding:10px 12px;font-family:Georgia,serif;letter-spacing:2px}
.gpf-brand strong{display:block;font-family:Georgia,serif;font-size:18px}.gpf-brand span{display:block;font-size:11px;color:#bbb}
.gpf-nav{display:flex;gap:18px;flex-wrap:wrap}.gpf-nav a,.gpf-nav button{background:none;border:0;color:#fff;text-decoration:none;font:inherit;cursor:pointer}.gpf-nav a:hover,.gpf-nav button:hover{color:var(--gpf-gold)}
.gpf-hero{display:grid;grid-template-columns:1.5fr .8fr;gap:45px;padding:90px 7vw;background:linear-gradient(120deg,#f8f5ef,#ece6dc)}
.gpf-kicker,.gpf-section-title>span,.gpf-contact span{color:#9a7a3f;font-weight:700;font-size:12px;letter-spacing:2px}
.gpf-hero h1,.gpf-section-title h2,.gpf-contact h2{font-family:Georgia,serif;font-weight:400;line-height:1.1}
.gpf-hero h1{font-size:clamp(42px,6vw,78px);max-width:850px;margin:12px 0 22px}.gpf-hero-copy p{max-width:720px;font-size:18px;color:#555}
.gpf-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.gpf-primary,.gpf-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:3px;padding:13px 18px;text-decoration:none;cursor:pointer;font-weight:700;border:1px solid var(--gpf-gold)}
.gpf-primary{background:var(--gpf-gold);color:#111}.gpf-secondary{background:#fff;color:#111}
.gpf-hero-card{align-self:center;background:#111;color:#fff;padding:35px;border-left:4px solid var(--gpf-gold)}.gpf-hero-card h3{font-family:Georgia,serif;font-size:26px}.gpf-hero-card a{display:block;color:var(--gpf-gold);text-decoration:none;margin-top:10px;font-weight:700}
.gpf-choice,.gpf-shop-section,.gpf-services{padding:80px 7vw}.gpf-section-title{max-width:760px;margin:0 auto 40px;text-align:center}.gpf-section-title h2{font-size:44px;margin:10px 0}.gpf-section-title p{color:#666}
.gpf-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1050px;margin:0 auto 35px}.gpf-choice-card{position:relative;border:1px solid var(--gpf-border);padding:30px;background:#fff}.gpf-choice-card.featured{box-shadow:0 14px 40px rgba(0,0,0,.08)}.gpf-choice-card h3{font-family:Georgia,serif;font-size:28px}.gpf-choice-card small{display:block;color:#777;margin-top:15px}.gpf-badge{position:absolute;right:20px;top:20px;background:#f0e4c7;color:#6d552a;padding:6px 9px;font-size:11px;font-weight:700}
.gpf-configurator{display:grid;grid-template-columns:340px 1fr;gap:25px;background:#f5f3ef;padding:24px;max-width:1200px;margin:0 auto;border:1px solid #e6e1d7}.gpf-controls{background:#fff;padding:24px}.gpf-controls h3{font-family:Georgia,serif}.gpf-controls label{display:block;font-weight:700;margin:15px 0}.gpf-controls select,.gpf-controls textarea,.gpf-controls input[type=file]{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #ccc;background:#fff}.gpf-config-actions{display:grid;gap:10px;margin-top:20px}.gpf-help{font-size:13px;color:#666;background:#faf6ed;padding:10px}.gpf-advanced-only{display:none}.gpf-mode-advanced .gpf-advanced-only{display:block}
.gpf-preview-area{min-height:560px;background:#e7e4de;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center}.gpf-preview-title{width:100%;display:flex;justify-content:space-between;margin-bottom:15px;color:#555}.gpf-preview-title span{font-size:12px}
.gpf-plaque{position:relative;width:min(720px,92%);aspect-ratio:3/2;background:radial-gradient(circle at 20% 30%,#3d3d3d 0 1px,transparent 2px),linear-gradient(145deg,#252525,#080808);background-size:24px 24px,100% 100%;border-radius:14px;box-shadow:0 18px 35px rgba(0,0,0,.35);overflow:hidden}.gpf-plaque.ovale{border-radius:50%}.gpf-plaque.livre{border-radius:6px 32px 6px 32px}.gpf-plaque.coeur{border-radius:45% 45% 50% 50%}
#gpf-text-preview{position:absolute;left:49%;top:45%;transform:translate(-50%,-50%);width:58%;text-align:center;color:#d8b46a;font-family:Georgia,serif;font-size:clamp(22px,3vw,42px);white-space:pre-wrap}#gpf-photo-preview{position:absolute;left:9%;top:18%;width:26%;height:46%;object-fit:cover;border-radius:50%;border:3px solid var(--gpf-gold);z-index:2}#gpf-motif-preview{position:absolute;right:10%;top:12%;font-size:52px;z-index:3}.gpf-mode-advanced .gpf-draggable,.gpf-mode-advanced #gpf-photo-preview{cursor:move;outline:1px dashed rgba(255,255,255,.55)}.gpf-notice{max-width:720px;width:100%;margin-top:20px;background:#fff;padding:14px 18px;border-left:3px solid var(--gpf-gold);font-size:13px}
.gpf-shop-section{background:#111;color:#fff}.gpf-shop-section .gpf-section-title p{color:#bbb}.gpf-shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:45px}.gpf-shop-card{background:#1c1c1c;border:1px solid #2c2c2c;padding:28px;text-decoration:none;color:#fff}.gpf-shop-card:hover{border-color:var(--gpf-gold);transform:translateY(-3px)}.gpf-shop-card h3{font-family:Georgia,serif;font-size:22px}.gpf-shop-card p{color:#aaa}.gpf-shop-icon{font-size:34px;color:var(--gpf-gold)}.gpf-products{background:#fff;color:#111;padding:20px}.gpf-center{text-align:center;margin-top:30px}.gpf-inline-button{display:inline-flex}.gpf-woo-note{text-align:center;padding:30px}
.gpf-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gpf-services article{padding:30px;border:1px solid var(--gpf-border)}.gpf-services h3{font-family:Georgia,serif;font-size:24px}
.gpf-contact{display:flex;justify-content:space-between;gap:35px;align-items:center;padding:60px 7vw;background:#f3eee5}.gpf-contact h2{font-size:38px}.gpf-contact-actions a{display:block;text-decoration:none;color:#111;font-weight:700;margin:10px 0}
@media(max-width:900px){.gpf-header{position:relative;align-items:flex-start;flex-direction:column}.gpf-hero,.gpf-configurator{grid-template-columns:1fr}.gpf-choice-grid,.gpf-shop-grid,.gpf-services-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gpf-choice,.gpf-shop-section,.gpf-services,.gpf-hero{padding:55px 20px}.gpf-choice-grid,.gpf-shop-grid,.gpf-services-grid{grid-template-columns:1fr}.gpf-section-title h2{font-size:34px}.gpf-contact{flex-direction:column;align-items:flex-start;padding:45px 20px}}
