/* ============================================================
   Modesty — Gallery & Contact page templates
   ============================================================ */

/* ---------- Gallery (masonry) ---------- */
.modesty-gallery-page .modesty-gallery-intro{max-width:640px;margin:0 auto 40px;text-align:center;color:var(--modesty-muted)}
.modesty-masonry{column-count:var(--masonry-cols,3);column-gap:20px}
@media(max-width:1100px){.modesty-masonry{column-count:3}}
@media(max-width:900px){.modesty-masonry{column-count:2}}
@media(max-width:560px){.modesty-masonry{column-count:1}}
.modesty-masonry__item{break-inside:avoid;margin:0 0 20px;border-radius:var(--modesty-radius,12px);overflow:hidden;background:var(--modesty-surface,#fff);box-shadow:var(--modesty-shadow-sm,0 2px 8px rgba(15,27,45,.08))}
.modesty-masonry__item img{display:block;width:100%;height:auto;transition:transform .5s ease}
.modesty-masonry__item:hover img{transform:scale(1.04)}

/* ---------- Contact ---------- */
.modesty-contact{margin:0 auto;max-width:var(--modesty-container,1160px)}
.modesty-contact__grid{display:grid;grid-template-columns:0.9fr 1.4fr;background:var(--modesty-surface,#fff);border-radius:22px;box-shadow:var(--modesty-shadow,0 24px 60px rgba(15,27,45,.14));overflow:hidden}
@media(max-width:860px){.modesty-contact__grid{grid-template-columns:1fr}}

/* Info panel (accent-filled, mirrors the mockup) */
.modesty-contact__info{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--modesty-secondary,#243b53),var(--modesty-ink,#0F1B2D));color:#fff;padding:40px 34px;margin:16px}
.modesty-contact__info{border-radius:18px}
.modesty-contact__info-title{color:#fff;font-size:1.5rem;margin:0 0 10px}
.modesty-contact__info-sub{color:rgba(255,255,255,.72);font-size:.95rem;margin:0 0 34px;max-width:34ch}
.modesty-contact__list{list-style:none;margin:0 0 40px;padding:0;display:flex;flex-direction:column;gap:22px}
.modesty-contact__list li{display:flex;align-items:center;gap:14px;font-size:.95rem;position:relative;z-index:2}
.modesty-contact__list a{color:#fff;text-decoration:none}
.modesty-contact__list a:hover{text-decoration:underline}
.modesty-contact__ic{display:inline-flex;align-items:center;justify-content:center;width:20px;color:var(--modesty-accent,#F5A623);flex:0 0 auto}
.modesty-contact__socials{display:flex;gap:14px;position:relative;z-index:2}
.modesty-contact__social{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;transition:background .2s ease,transform .2s ease}
.modesty-contact__social:hover{background:var(--modesty-accent,#F5A623);transform:translateY(-2px)}
/* Decorative blobs like the mockup */
.modesty-contact__blob{position:absolute;border-radius:50%;z-index:1}
.modesty-contact__blob--1{width:200px;height:200px;background:rgba(255,255,255,.08);right:-40px;bottom:40px}
.modesty-contact__blob--2{width:140px;height:140px;background:var(--modesty-accent,#F5A623);opacity:.5;right:-30px;bottom:-30px}

/* Form panel */
.modesty-contact__form-wrap{padding:44px 40px}
@media(max-width:860px){.modesty-contact__form-wrap{padding:28px 24px}}
.modesty-contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-bottom:26px}
@media(max-width:560px){.modesty-contact-form__row{grid-template-columns:1fr;gap:20px}}
.modesty-field{display:flex;flex-direction:column;gap:6px}
.modesty-field__label{font-size:.78rem;font-weight:600;color:var(--modesty-muted,#6B7280)}
.modesty-field input,.modesty-field textarea{border:0;border-bottom:2px solid var(--modesty-line,#E7E7E2);background:transparent;padding:8px 2px;font:inherit;color:var(--modesty-ink,#0F1B2D);transition:border-color .2s ease}
.modesty-field input:focus,.modesty-field textarea:focus{outline:none;border-color:var(--modesty-primary,#12A5A0)}
.modesty-field textarea{resize:vertical;min-height:52px}
.modesty-contact-form__choices{border:0;padding:0;margin:0 0 26px}
.modesty-contact-form__choices legend{font-size:.85rem;font-weight:700;color:var(--modesty-ink,#0F1B2D);margin-bottom:12px;padding:0}
.modesty-radio{display:inline-flex;align-items:center;gap:7px;margin-right:22px;font-size:.9rem;cursor:pointer;color:var(--modesty-ink,#0F1B2D)}
.modesty-radio input{accent-color:var(--modesty-primary,#12A5A0)}
.modesty-contact-form__hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.modesty-contact-form__actions{display:flex;justify-content:flex-end;margin-top:8px}
.modesty-contact-form__submit{min-width:170px}
.modesty-contact-form__status{margin:14px 0 0;text-align:right;font-size:.9rem;min-height:1.2em}
.modesty-contact-form__status.is-ok{color:var(--modesty-primary,#12A5A0)}
.modesty-contact-form__status.is-error{color:#d9534f}
