/* tanapen — WordPress / Astra adjustments. The design itself is in tanapen.css. */

/* ---------- neutralise Astra's page chrome on tanapen pages ---------- */
body.tanapen{background:var(--paper);color:var(--ink);font-family:var(--sans)}
body.tanapen #page,body.tanapen .site{background:transparent}
body.tp-page .site-content > .ast-container{max-width:none !important;padding:0 !important;display:block !important;margin:0 !important}
body.tp-page #primary,body.tp-page #secondary{width:100% !important;margin:0 !important;padding:0 !important;border:0 !important}
body.tp-page #secondary{display:none}
body.tp-page article.page,body.tp-page .ast-article-single{padding:0 !important;margin:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important}
body.tp-page .entry-header{display:none}
body.tp-page .entry-content > *{max-width:none !important;margin-block:0 !important}
body.tanapen .entry-content p,body.tanapen .entry-content ul,body.tanapen .entry-content ol,body.tanapen .entry-content dl{margin-bottom:0}
body.tp-page .entry-content ul,body.tp-page .entry-content ol{margin-left:0}
body.tanapen .entry-content a{text-decoration:none}
body.tanapen a:focus{outline-offset:4px}
body.tanapen .site-content{padding:0}

/* Astra colours / sizes that would otherwise leak into headings and links */
body.tanapen h1,body.tanapen h2,body.tanapen h3,body.tanapen h4{color:var(--ink);font-family:var(--display)}
body.tanapen a{color:inherit}
body.tanapen a:hover{color:inherit}
body.tanapen .cta,body.tanapen .cta:hover,body.tanapen .cta:focus{color:var(--accent-ink)}

/* buttons: Astra styles every <button> */
body.tanapen .chip,body.tanapen .chip:focus{background:none;border:1px solid var(--line);color:var(--ink-2);border-radius:0;box-shadow:none;line-height:1.6}
body.tanapen .chip:hover{background:none;border-color:var(--ink-2);color:var(--ink)}
body.tanapen .chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
body.tanapen .menu-btn,body.tanapen .menu-btn:hover,body.tanapen .menu-btn:focus{background:var(--accent);border:0;color:var(--accent-ink);box-shadow:none;padding:0;border-radius:0}
body.tanapen .ba input[type=range]{padding:0;border:0;background:none}

/* ---------- single posts & works (Astra templates) ---------- */
body.tanapen:not(.tp-page) .site-content{padding-block:clamp(40px,6vw,96px)}
body.tanapen:not(.tp-page) .entry-title{font-size:clamp(24px,3vw,34px);line-height:1.6}
body.tanapen:not(.tp-page) .entry-content{font-size:18px;line-height:2}
body.tanapen:not(.tp-page) .entry-content p{margin-bottom:1.4em}

/* ---------- Contact Form 7 ---------- */
.tp-form-wrap .wpcf7-form > p{margin:0}
.tp-form{display:grid;grid-template-columns:1fr 1fr;gap:36px 32px}
.tp-form .full{grid-column:1/-1}
.tp-form fieldset{border:0;margin:0;padding:0;min-width:0}
.tp-form .wpcf7-form-control-wrap{display:block}
body.tanapen .tp-form input[type=text],body.tanapen .tp-form input[type=email],body.tanapen .tp-form input[type=tel],body.tanapen .tp-form select,body.tanapen .tp-form textarea{width:100%;padding:10px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);font:18px/1.7 var(--sans);box-shadow:none}
body.tanapen .tp-form input:focus,body.tanapen .tp-form select:focus,body.tanapen .tp-form textarea:focus{outline:none;border-bottom-color:var(--accent)}
.tp-form textarea{min-height:140px}
.tp-form .wpcf7-radio,.tp-form .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px}
.tp-form .wpcf7-list-item{margin:0}
.tp-form .wpcf7-radio label,.tp-form .wpcf7-checkbox label{display:inline-flex;margin:0;position:relative}
.tp-form .wpcf7-radio input,.tp-form .wpcf7-checkbox input{position:absolute;opacity:0;pointer-events:none}
.tp-form .wpcf7-radio .wpcf7-list-item-label,.tp-form .wpcf7-checkbox .wpcf7-list-item-label{border:1px solid var(--line);padding:6px 14px;font-size:16px;color:var(--ink-2);cursor:pointer;transition:all .25s}
.tp-form .wpcf7-radio input:checked + .wpcf7-list-item-label,.tp-form .wpcf7-checkbox input:checked + .wpcf7-list-item-label{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.tp-form .wpcf7-radio input:focus-visible + .wpcf7-list-item-label,.tp-form .wpcf7-checkbox input:focus-visible + .wpcf7-list-item-label{outline:1px solid var(--ink);outline-offset:3px}
.tp-form .agree{font-size:16px;color:var(--ink-2)}
.tp-form .agree .wpcf7-list-item-label{display:inline}
.tp-form .agree input{accent-color:var(--accent);width:18px;height:18px;margin-right:8px;vertical-align:middle}
.tp-form .agree a{border-bottom:1px solid var(--ink-3)}
body.tanapen .tp-form input.send{display:inline-block;width:auto;background:none;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:0 0 8px;color:var(--ink);font:500 16px/1.4 var(--sans);letter-spacing:.12em;cursor:pointer;box-shadow:none}
body.tanapen .tp-form input.send:hover{color:var(--accent-text);border-bottom-color:var(--accent)}
.tp-form .wpcf7-spinner{margin:0 0 0 16px}
.tp-form .wpcf7-not-valid-tip{font-size:14px;margin-top:6px;color:var(--alert)}
.tp-form-wrap .wpcf7-response-output{margin:24px 0 0 !important;padding:14px 18px !important;font-size:16px}
@media (max-width:560px){.tp-form{grid-template-columns:1fr}}

/* ---------- Drag and Drop Multiple File Upload (photo field) ---------- */
.tp-form .codedropz-upload-handler{border:1px dashed var(--accent);border-radius:0;background:var(--accent-soft);margin-top:6px}
.tp-form .codedropz-upload-inner{padding:28px 16px}
.tp-form .codedropz-upload-inner h3{font-family:var(--sans);font-size:17px;font-weight:700;color:var(--ink);margin:0 0 4px}
.tp-form .codedropz-upload-inner span{font-size:15px;color:var(--ink-2)}
.tp-form .codedropz-upload-inner .cd-upload-btn{color:var(--accent-text);text-decoration:underline;font-size:16px}
.tp-form .dnd-upload-status{font-size:15px;color:var(--ink)}
.tp-form .dnd-upload-status .dnd-upload-details .name{color:var(--ink)}
.tp-form .dnd-upload-status .dnd-progress-bar span{background:var(--accent)}
.tp-form .dnd-upload-counter{font-size:14px;color:var(--ink-2)}

/* ---------- guard the layout against plugin / Astra rules ---------- */
body.tanapen .tp12{display:grid !important;grid-template-columns:repeat(12,minmax(0,1fr)) !important;column-gap:var(--gap)}
body.tanapen .ph img{position:absolute !important;inset:0;width:100% !important;height:100% !important;max-width:none !important;object-fit:cover;margin:0}
body.tanapen .cta-band .cta,body.tanapen .cta-band .cta:hover{color:var(--accent-ink)}
/* Astra draws a border around every table cell */
body.tanapen table,body.tanapen th,body.tanapen td{border:0;background:transparent}
body.tanapen table{border-collapse:collapse;margin:0}
body.tanapen th,body.tanapen td{border-bottom:1px solid var(--line);padding:20px 16px 20px 0}
body.tanapen thead th{padding-bottom:12px}

/* full-bleed bands regardless of Astra's containers */
body.tanapen{overflow-x:clip}
body.tanapen .fv,body.tanapen .page-hero,body.tanapen .page-lead,body.tanapen .doors,body.tanapen .works-list,body.tanapen .sec,body.tanapen .cta-band,body.tanapen .strength,body.tanapen .svc-detail,body.tanapen .jump{margin-inline:calc(50% - 50vw) !important;padding-inline:calc(50vw - 50% + var(--gut)) !important}
body.tanapen .cta-band h2{color:var(--ink)}
body.tanapen .plan-table th,body.tanapen .plan-table td{padding:28px 40px 28px 0}
body.tanapen .plan-table thead th{padding:0 40px 14px 0}
body.tanapen .plan-table td:last-child{padding-right:0}
/* Astra centres some flex rows inside page content; keep ours left-aligned */
body.tanapen .sec-head,body.tanapen .page-hero .crumb{justify-self:stretch !important;width:100% !important;margin-inline:0 !important;text-align:left}
body.tanapen .sec-head{justify-content:space-between !important}
body.tanapen .page-hero .crumb{justify-content:flex-start !important}
body.tanapen .svc-detail .ph{aspect-ratio:auto !important;min-height:120px}
body.tanapen .svc-detail .ph img{position:static !important;display:block !important;width:100% !important;height:auto !important;aspect-ratio:4/3;object-fit:cover;opacity:1 !important;visibility:visible !important}
/* case detail: Astra list/heading styles inside the article body */
body.tanapen .work-body ul{margin:0 0 0 1.2em;list-style:disc}
body.tanapen .work-body h2{color:var(--ink)}

/* v1.10: lists start at the same left edge as their headings (WordPress indents every list by 20px) */
body.tanapen .entry-content ul,body.tanapen .entry-content ol,body.tanapen .tp12 ul,body.tanapen .tp12 ol{padding-left:0}
body.tanapen .work-body ul{padding-left:1.2em;margin-left:0}
body.tanapen .prose ol{padding-left:1.4em}
/* the header spans the full screen width inside Astra's page wrapper */
body.tanapen header.top{margin-inline:calc(50% - 50vw) !important;padding-inline:calc(50vw - 50% + var(--gut)) !important}

/* footer: full-width band */
body.tanapen footer.foot{margin-inline:calc(50% - 50vw) !important;padding-inline:calc(50vw - 50% + var(--gut)) !important}
body.tanapen footer .fnav a,body.tanapen footer .fcontact .cta{color:var(--f-ink)}
body.tanapen footer .fcontact .cta,body.tanapen footer .fcontact .cta:hover{color:#1F1C19}
body.tanapen footer .fnav a:hover{color:#FFFFFF}

/* design v10: photo heroes run edge to edge; the crumb is placed on the photo */
body.tanapen .page-hero .crumb{width:auto !important;justify-self:auto !important}
body.tanapen .fv .copy,body.tanapen .page-hero .copy{margin:0 !important}
body.tanapen .cta.w,body.tanapen .cta.w:hover{color:#1F1C19}
body.tanapen .cta.o,body.tanapen .cta.o:hover{color:var(--ink)}
body.tanapen .page-lead .lead{text-align:left}
/* 1.16: Astra centres every block inside page content with auto margins; our bands lay out their own columns */
body.tanapen .entry-content > section > *{margin-left:0 !important;margin-right:0 !important}
/* keep Astra's back-to-top button above the phone call bar */
@media (max-width:760px){body.tanapen #ast-scroll-top{bottom:calc(72px + env(safe-area-inset-bottom,0px)) !important}}
/* 施工事例の詳細ページ：タグとひとことは写真の下に（1.18.0） */
body.tanapen .page-lead .lead .tags{margin:0 0 14px;font-size:15px}
body.tanapen .page-lead .lead p{margin:0}
