/*
Theme Name: UNTD LinkPress
Theme URI: https://link.untd.jp/
Author: OpenAI
Author URI: https://openai.com/
Description: Elementor-ready multilingual front-site theme for a URL shortener service. Supports Japanese and English content structure, free shortener form, and a single paid plan section.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: untd-linkpress
Domain Path: /languages
*/

:root {
  --ulp-bg: #0b1020;
  --ulp-bg-soft: #121933;
  --ulp-card: #ffffff;
  --ulp-text: #111827;
  --ulp-subtext: #5b6478;
  --ulp-primary: #2563eb;
  --ulp-primary-2: #1d4ed8;
  --ulp-border: #e5e7eb;
  --ulp-success: #16a34a;
  --ulp-danger: #dc2626;
  --ulp-radius: 18px;
  --ulp-shadow: 0 14px 45px rgba(0,0,0,.08);
  --ulp-wrap: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ulp-text);
  background: #f8fafc;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.65;
}
a { color: var(--ulp-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
.container, .site-main-inner { width: min(100% - 32px, var(--ulp-wrap)); margin-inline: auto; }
.site-header {
  position: sticky; top: 0; z-index: 30;
  backdrop-filter: saturate(180%) blur(10px);
  background: rgba(255,255,255,.88);
  border-bottom: 1px solid rgba(229,231,235,.8);
}
.site-header__inner, .site-footer__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  width: min(100% - 32px, var(--ulp-wrap)); margin-inline: auto;
}
.site-header__inner { min-height: 72px; }
.site-branding a {
  color: #0f172a; font-weight: 800; letter-spacing: -.02em; font-size: 1.2rem; text-decoration: none;
}
.site-nav { display: flex; align-items: center; gap: 18px; }
.site-nav a { color: #334155; font-weight: 600; text-decoration: none; }
.site-nav a:hover { color: var(--ulp-primary); }
.site-actions { display:flex; align-items:center; gap: 12px; }
.site-lang-switcher { display:flex; gap:10px; align-items:center; }
.site-lang-switcher a, .site-lang-switcher span {
  font-size: .9rem; color:#475569; padding:8px 10px; border-radius: 999px; background:#f1f5f9; text-decoration:none;
}
.site-lang-switcher .current-lang, .site-lang-switcher a:hover { background:#dbeafe; color:#1d4ed8; }
.button, button, input[type="submit"], .wp-element-button {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:46px; padding: 0 18px; border-radius: 12px; border:0; cursor:pointer;
  background: var(--ulp-primary); color:#fff; font-weight:700; text-decoration:none; box-shadow:none;
}
.button:hover, button:hover, input[type="submit"]:hover, .wp-element-button:hover { background: var(--ulp-primary-2); text-decoration:none; }
.button--ghost {
  background:#fff; color:#0f172a; border:1px solid var(--ulp-border);
}
.hero {
  background: radial-gradient(circle at top left, rgba(37,99,235,.18), transparent 32%), linear-gradient(135deg, var(--ulp-bg), #172554 55%, #0f172a 100%);
  color: #fff; padding: 78px 0 64px;
}
.hero__grid {
  display:grid; grid-template-columns: 1.15fr .85fr; gap: 36px; align-items:center;
}
.hero h1 { margin:0 0 16px; font-size: clamp(2.2rem, 5vw, 4rem); line-height:1.05; letter-spacing:-.04em; }
.hero p { color: rgba(255,255,255,.82); font-size: 1.08rem; margin:0 0 18px; }
.hero__badges { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.badge { display:inline-flex; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; font-weight:700; font-size:.92rem; }
.hero-card, .ulp-card {
  background:#fff; border-radius: var(--ulp-radius); box-shadow: var(--ulp-shadow); color: var(--ulp-text);
}
.hero-card { padding: 22px; }
.section { padding: 70px 0; }
.section h2 { margin:0 0 12px; font-size: clamp(1.9rem, 4vw, 3rem); line-height:1.1; letter-spacing:-.03em; }
.section p.section-lead { color:var(--ulp-subtext); max-width:720px; margin:0 0 26px; }
.features-grid, .pricing-grid, .steps-grid { display:grid; gap:22px; }
.features-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.steps-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.pricing-grid { grid-template-columns: minmax(0, 1fr); max-width: 620px; }
.ulp-card { padding:24px; }
.ulp-card h3 { margin-top:0; margin-bottom:10px; font-size:1.2rem; }
.ulp-card p { color: var(--ulp-subtext); margin-bottom:0; }
.price { font-size: clamp(2rem, 5vw, 3.2rem); font-weight:800; letter-spacing:-.04em; }
.price small { font-size:1rem; color: var(--ulp-subtext); font-weight:700; }
.list-check { list-style:none; margin:16px 0 0; padding:0; }
.list-check li { padding-left:28px; position:relative; margin-bottom:12px; }
.list-check li::before { content:'✓'; position:absolute; left:0; top:0; color:var(--ulp-success); font-weight:800; }
.footer-cta {
  background: linear-gradient(135deg, #1d4ed8, #0f172a); color:#fff; border-radius:28px; padding:36px;
}
.site-footer { background:#0f172a; color:#e2e8f0; padding: 28px 0; margin-top: 56px; }
.site-footer a { color:#fff; }
.site-footer__inner { flex-wrap:wrap; min-height: inherit; }
.entry-content { width:min(100% - 32px, 1100px); margin-inline:auto; padding: 40px 0; }

/* Shortener */
.ulp-shortener { display:grid; gap:14px; }
.ulp-shortener__field { display:grid; gap:8px; }
.ulp-shortener label { font-weight:700; font-size:.95rem; }
.ulp-shortener input[type="url"], .ulp-shortener input[type="text"], .ulp-shortener textarea, .ulp-shortener select {
  width:100%; min-height:52px; padding: 12px 14px; border:1px solid #dbe1ea; border-radius: 12px; font-size:1rem; background:#fff;
}
.ulp-shortener__hint { color: var(--ulp-subtext); font-size:.92rem; margin:0; }
.ulp-shortener__result {
  padding: 16px; border-radius: 14px; background: #eff6ff; border: 1px solid #bfdbfe;
}
.ulp-shortener__error {
  padding: 14px 16px; border-radius: 14px; background: #fef2f2; border: 1px solid #fecaca; color:#991b1b;
}
.ulp-inline { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.code-snippet {
  display:block; padding:14px 16px; border-radius:12px; background:#0f172a; color:#fff; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; overflow:auto;
}

/* Elementor */
.elementor-page .site-main-inner,
.elementor-default .site-main-inner,
.page-template-elementor_canvas .site-main-inner,
.page-template-elementor_header_footer .site-main-inner { width: 100%; }
.elementor-page .entry-content { width:100%; padding:0; }

@media (max-width: 980px) {
  .hero__grid, .features-grid, .steps-grid { grid-template-columns: 1fr; }
  .site-header__inner { padding: 10px 0; flex-wrap:wrap; }
  .site-nav { overflow:auto; width:100%; padding-bottom:6px; }
}

@media (max-width: 640px) {
  .hero { padding-top: 48px; }
  .section { padding: 52px 0; }
  .footer-cta { padding: 24px; }
  .site-actions { width:100%; justify-content:space-between; }
}
