/* ============================================================
   Lorena Art Work – Main Stylesheet
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Sansita',sans-serif;background:#ffedf5;color:#1d1d1d;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;transition:background .3s,box-shadow .3s}
.nav.stuck{background:rgba(255,237,245,.97);box-shadow:0 2px 20px rgba(0,0,0,.07)}
.nav-logo img{height:54px;width:auto}
.nav-email{font-size:13px;font-weight:700;color:#ef7a54;letter-spacing:.02em;transition:opacity .2s}
.nav-email:hover{opacity:.7}

/* ── HERO ── */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;padding-top:90px;background:#ffedf5}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:60px 48px 60px 60px}
.hero-eyebrow{font-size:clamp(13px,1.1vw,17px);font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:#ef7a54;margin-bottom:16px}
.hero-h1{font-size:clamp(26px,3.5vw,50px);font-weight:800;line-height:1.14;letter-spacing:-.01em;color:#1d1d1d;margin-bottom:38px}
.btn-orange{display:inline-block;padding:13px 36px;background:#ef7a54;color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;border-radius:50px;border:none;cursor:pointer;transition:background .2s,transform .18s;font-family:'Sansita',sans-serif}
.btn-orange:hover{background:#d4623d;transform:translateY(-2px)}
.hero-right{overflow:hidden;position:relative}
.hero-right img{width:100%;height:100%;object-fit:cover;object-position:center top}

/* ── INFO STRIP ── */
.info{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #f5d0e0;border-bottom:1px solid #f5d0e0;background:#fff}
.info-cell{display:flex;align-items:flex-start;gap:18px;padding:38px 40px;border-right:1px solid #f5d0e0}
.info-cell:last-child{border-right:none}
.info-icon{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:#ffedf5;display:flex;align-items:center;justify-content:center;margin-top:2px}
.info-icon svg{width:24px;height:24px;stroke:#ef7a54;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.info-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;color:#1d1d1d}
.info-p{font-size:14px;line-height:1.8;color:#555}
.btn-small{display:inline-block;margin-top:14px;padding:9px 26px;background:#ef7a54;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:50px;transition:background .2s}
.btn-small:hover{background:#d4623d}

/* ── STORY ── */
.story{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding:100px 60px;background:#ffedf5}
.story-h{font-size:clamp(22px,2.4vw,38px);font-weight:800;letter-spacing:-.01em;margin-bottom:28px}
.story-body{font-size:15px;line-height:1.9;color:#555}
.story-imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.img-full{grid-column:1/-1;height:250px;object-fit:cover;border-radius:14px;width:100%}
.img-half{height:190px;object-fit:cover;border-radius:14px;width:100%}

/* ── PRODUCTS ── */
.products{background:#fff0f7;padding:100px 60px}
.products-h{font-size:clamp(22px,2.4vw,38px);font-weight:800;letter-spacing:-.01em;margin-bottom:44px}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:44px}
.card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 2px 12px rgba(239,122,84,.10);transition:box-shadow .25s,transform .25s;display:flex;flex-direction:column}
.card:hover{box-shadow:0 14px 44px rgba(239,122,84,.18);transform:translateY(-5px)}
.card-img-wrap{padding:20px 20px 0;display:flex;justify-content:center}
.card-img-circle{width:130px;height:130px;border-radius:50%;overflow:hidden;background:#ffedf5;flex-shrink:0}
.card-img-circle img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card-img-circle img{transform:scale(1.08)}
.card-body{padding:16px 20px 22px;display:flex;flex-direction:column;flex:1}
.card-name{font-size:15px;font-weight:700;margin-bottom:7px;text-align:center}
.card-desc{font-size:13px;color:#777;line-height:1.65;margin-bottom:12px;text-align:center;flex:1}
.card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffedf5;padding-top:12px;margin-top:auto}
.card-price{font-size:15px;font-weight:800;color:#ef7a54}
.card-link-btn{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:8px 18px;background:#ef7a54;color:#fff;border-radius:50px;transition:background .2s}
.card-link-btn:hover{background:#d4623d}
.products-more{text-align:center}
.btn-dark{display:inline-block;padding:13px 40px;background:#1d1d1d;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:50px;transition:background .2s}
.btn-dark:hover{background:#ef7a54}

/* ── DESIGNER ── */
.designer{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;padding:100px 60px;background:#1d1d1d;color:#fff}
.designer-img img{width:100%;aspect-ratio:.8;object-fit:cover;object-position:top center;border-radius:16px}
.designer-h{font-size:clamp(22px,2.4vw,38px);font-weight:800;letter-spacing:-.01em;margin-bottom:28px;color:#fff}
.quote-icon{width:34px;height:auto;margin-bottom:14px}
.quote-text{font-size:14.5px;line-height:1.95;color:rgba(255,255,255,.8);white-space:pre-line}
.designer-name{display:inline-block;margin-top:26px;font-size:14px;font-weight:700;color:#ef7a54;letter-spacing:.04em}

/* ── CONTACT ── */
.contact{padding:100px 60px;background:#ffedf5}
.contact-wrap{max-width:580px;margin:0 auto}
.contact-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#ef7a54;margin-bottom:10px}
.contact-h{font-size:clamp(22px,2.4vw,38px);font-weight:800;letter-spacing:-.01em;margin-bottom:36px;color:#1d1d1d}

/* Contact Form 7 – テーマデザインに合わせたスタイル上書き */
.wpcf7-form{display:flex;flex-direction:column;gap:16px}
.wpcf7-form p{margin:0}
.wpcf7-form label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#999;margin-bottom:6px;font-family:'Sansita',sans-serif}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea{
  width:100%;padding:13px 17px;
  border:1.5px solid #f5c8d8;border-radius:10px;
  font-family:'Sansita',sans-serif;font-size:14px;
  color:#1d1d1d;background:#fff;outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus{border-color:#ef7a54;box-shadow:0 0 0 3px rgba(239,122,84,.13)}
.wpcf7-form textarea{resize:vertical;min-height:128px}
.wpcf7-form input[type="submit"]{
  display:inline-block;padding:13px 36px;
  background:#ef7a54;color:#fff;
  font-size:13px;font-weight:700;font-family:'Sansita',sans-serif;
  text-transform:uppercase;letter-spacing:.07em;
  border-radius:50px;border:none;cursor:pointer;
  transition:background .2s,transform .18s;
  align-self:flex-start;
}
.wpcf7-form input[type="submit"]:hover{background:#d4623d;transform:translateY(-2px)}
/* CF7 レスポンスメッセージ */
.wpcf7-response-output{
  margin-top:12px !important;padding:11px 16px !important;
  border-radius:8px !important;font-size:13px !important;
  border:none !important;font-family:'Sansita',sans-serif;
}
.wpcf7-mail-sent-ok{background:#edf7ee !important;color:#3a7d44 !important}
.wpcf7-validation-errors,.wpcf7-mail-sent-ng,.wpcf7-spam-blocked{background:#fdecea !important;color:#b71c1c !important}
.wpcf7-not-valid-tip{color:#b71c1c;font-size:12px;margin-top:4px}

/* ── FOOTER ── */
.footer{background:#1d1d1d;padding:32px 60px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-copy{font-size:13px;color:rgba(255,255,255,.45)}
.footer-copy a{color:rgba(255,255,255,.45);transition:color .2s}
.footer-copy a:hover{color:#ef7a54}
.footer-ig{display:flex;align-items:center;gap:2px}
.ig-wrap{position:relative;width:34px;height:34px}
.ig-wrap img{position:absolute;top:0;left:0;width:34px;height:34px;object-fit:contain;transition:opacity .2s}
.ig-orange{opacity:0}
.footer-ig a:hover .ig-white{opacity:0}
.footer-ig a:hover .ig-orange{opacity:1}

/* ── RESPONSIVE ── */
@media(max-width:1100px){.products-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:82px}
  .hero-right{height:70vw}
  .hero-right img{object-position:center top}
  .hero-left{padding:40px 32px}
  .info{grid-template-columns:1fr;background:#fff}
  .info-cell{border-right:none;border-bottom:1px solid #f5d0e0;padding:26px 28px}
  .info-cell:last-child{border-bottom:none}
  .story{grid-template-columns:1fr;padding:70px 32px;gap:40px}
  .designer{grid-template-columns:1fr;padding:70px 32px;gap:44px}
  .designer-img img{aspect-ratio:4/3}
  .products{padding:70px 32px}
  .contact{padding:70px 32px}
  .footer{padding:28px 32px;flex-direction:column;align-items:center;text-align:center}
}
@media(max-width:580px){
  .nav{padding:14px 20px}
  .hero-left{padding:32px 20px}
  .hero-right{height:75vw}
  .hero-right img{object-position:center top}
  .products-grid{grid-template-columns:1fr 1fr}
  .story-imgs{grid-template-columns:1fr}
  .img-full{height:200px}
  .img-half{height:170px;grid-column:1/-1}
}
@media(max-width:400px){
  .products-grid{grid-template-columns:1fr}
}
