/*
Theme Name: Seaworth
Theme URI: https://seaworth.com
Author: Seaworth Holding
Author URI: https://seaworth.com
Description: The Poetic Oceanic Class - Full Site Editing (FSE) Luxury Corporate Block Theme for Seaworth Holding.
Requires at least: 6.6
Tested up to: 6.7
Requires PHP: 8.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: seaworth
*/

/* --- Smooth Scrolling & Global Refinements --- */
html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* --- Block Quote Refinement --- */
.wp-block-quote {
  border-left: 2px solid var(--wp--preset--color--primary);
  margin: 2rem 0;
  padding: 0.5rem 0 0.5rem 2rem;
}

/* --- Poetic Form Fields --- */
.wp-block-search__input,
.wp-site-blocks input[type="text"]:not([class*="components-"]),
.wp-site-blocks input[type="email"]:not([class*="components-"]),
.wp-site-blocks input[type="tel"]:not([class*="components-"]),
.wp-site-blocks textarea:not([class*="components-"]),
.wp-site-blocks select:not([class*="components-"]) {
  border: none;
  border-bottom: 1px solid var(--wp--preset--color--border);
  border-radius: 0;
  background: transparent;
  color: var(--wp--preset--color--ink);
  font-family: inherit;
  font-size: var(--wp--preset--font-size--small);
  padding: 12px 0;
  outline: none;
  transition: border-color 0.4s ease;
}

.wp-block-search__input:focus,
.wp-site-blocks input[type="text"]:not([class*="components-"]):focus,
.wp-site-blocks input[type="email"]:not([class*="components-"]):focus,
.wp-site-blocks input[type="tel"]:not([class*="components-"]):focus,
.wp-site-blocks textarea:not([class*="components-"]):focus,
.wp-site-blocks select:not([class*="components-"]):focus {
  border-bottom-color: var(--wp--preset--color--ink);
}

/* --- Button Styling Transitions --- */
.wp-element-button,
.wp-block-button__link {
  transition: var(--wp--custom--transition--poetic, all 0.4s ease);
}

/* --- Hide Custom Mouse Cursors & Restore Native Cursors strictly in Block Editor --- */
.editor-styles-wrapper .custom-cursor,
.editor-styles-wrapper .custom-cursor__follower,
.block-editor-page .custom-cursor,
.block-editor-page .custom-cursor__follower {
  display: none !important;
}

.editor-styles-wrapper,
.editor-styles-wrapper body,
.editor-styles-wrapper input,
.editor-styles-wrapper textarea,
.editor-styles-wrapper select,
.block-editor-page .editor-styles-wrapper * {
  cursor: auto !important;
}

.editor-styles-wrapper button,
.editor-styles-wrapper a,
.editor-styles-wrapper [role="button"],
.editor-styles-wrapper [type="button"],
.editor-styles-wrapper [type="submit"],
.editor-styles-wrapper .components-button {
  cursor: pointer !important;
}

/* --- Seaworth Block Editor Layout & Parallax Resets --- */
.editor-styles-wrapper .about-hero-title {
  transform: none !important;
}
.editor-styles-wrapper .about-hero-banner img {
  transform: none !important;
  height: 100% !important;
}

/* --- RefineLab Image Overlay Icon Display Fix --- */
.refinelab-image-overlay .dashicons {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-family: dashicons, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 20px;
  width: 20px;
  height: 20px;
  background: rgba(15, 23, 42, 0.7);
  padding: 10px;
  border-radius: 50%;
  box-sizing: content-box;
  color: #ffffff !important;
  line-height: 1;
}

.refinelab-image-overlay .dashicons svg {
  width: 20px;
  height: 20px;
  fill: #ffffff !important;
  display: block;
}

.refinelab-image-overlay .dashicons-format-image:empty {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20' fill='%23ffffff'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.7c-.3-.3-.8-.3-1.1 0l-4.1 3.7-2.6-2.3c-.3-.3-.8-.3-1.1 0l-2.6 2.3V5c0-.3.2-.5.5-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.3l3.2-2.9 2.6 2.3c.3.3.8.3 1.1 0l4.1-3.7 3.5 3.1V19c0 .3-.2.5-.5.5zm-10-10c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
}

.refinelab-image-overlay .dashicons-format-image::before {
  content: "\f128";
  font-family: dashicons !important;
}

.refinelab-image-overlay .dashicons-format-image:has(svg)::before {
  content: none !important;
}

.dark-card-badge {
  font-family: var(--font-en, var(--font-display, 'Cinzel', serif));
  font-size: var(--text-3xl, 2.5rem);
  font-weight: 700;
  line-height: 0.8;
  color: #FFFFFF;
  margin-bottom: 4px;
  display: block;
}

.dark-card .refinelab-image-bind-wrapper {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  border-radius: inherit;
  z-index: 1;
}

.dark-card .refinelab-image-bind-wrapper img,
.dark-card .refinelab-image-bind-wrapper .refinelab-editor-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  filter: brightness(0.78);
}

.dark-card .dark-card-caption {
  z-index: 2;
}

.dark-card .refinelab-image-overlay {
  z-index: 3;
}

/* --- Certifications Medallion Logo Wrapper in Editor --- */
.medallion-frame {
  overflow: hidden;
}

.medallion-frame .refinelab-image-bind-wrapper,
:is(.editor-styles-wrapper, .block-editor-writing-flow, .block-editor-block-list__layout, body.block-editor-page, .edit-site-visual-editor) .medallion-frame .refinelab-image-bind-wrapper {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  position: relative !important;
  margin: 0 !important;
}

.medallion-frame .refinelab-image-bind-wrapper img,
.medallion-frame .refinelab-image-bind-wrapper .refinelab-editor-image,
:is(.editor-styles-wrapper, .block-editor-writing-flow, .block-editor-block-list__layout, body.block-editor-page, .edit-site-visual-editor) .medallion-frame img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: grayscale(60%) contrast(105%);
  opacity: 0.85;
  display: block !important;
  margin: auto !important;
}

.medallion-frame .refinelab-image-bind-wrapper.no-image {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  border-radius: 50% !important;
}

/* --- Three Pillars Sector Wave Canvas Layout --- */
.staggered-lineart {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  margin-left: -50vw;
  z-index: 2;
  pointer-events: none;
}

.staggered-lineart canvas,
#sectorWaveCanvas {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  display: block;
}

/* Preloader Block Editor & Admin Overrides: Strictly never show in editor canvas or admin UI */
.editor-styles-wrapper .site-loader,
.block-editor-block-list__layout .site-loader,
.block-editor-page .site-loader,
.edit-site-visual-editor .site-loader,
.edit-post-visual-editor .site-loader,
body.wp-admin .site-loader,
body.block-editor-iframe__body .site-loader {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
  z-index: -9999 !important;
}

/* Hero Slider & Background Image Editor Display Overrides */
.editor-styles-wrapper .hero-bg-wrapper,
.editor-styles-wrapper .hero-bg-wrapper picture,
.editor-styles-wrapper .hero-bg-wrapper .refinelab-repeater-item-wrapper {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  pointer-events: none !important;
}

.editor-styles-wrapper .hero-bg-wrapper img,
.editor-styles-wrapper .hero-bg-wrapper .hero-bg-img {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

/* Hide empty WebGL canvas in editor to prevent darkening / obscuring the background */
.editor-styles-wrapper .hero-bg-wrapper canvas.hero-morph-canvas {
  display: none !important;
}

/* --- Global Scale / Flagship Fleet Block Editor Overrides --- */
:is(.editor-styles-wrapper, .block-editor-writing-flow, .block-editor-block-list__layout, body.block-editor-page, .edit-site-visual-editor) .flagship-scroll-wrapper {
  height: auto !important;
  min-height: auto !important;
}

:is(.editor-styles-wrapper, .block-editor-writing-flow, .block-editor-block-list__layout, body.block-editor-page, .edit-site-visual-editor) .flagship-section {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: auto !important;
  display: block !important;
  overflow: visible !important;
  padding: 80px 0 !important;
}

:is(.editor-styles-wrapper, .block-editor-writing-flow, .block-editor-block-list__layout, body.block-editor-page, .edit-site-visual-editor) .flagship-grid {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  margin-top: 48px !important;
  margin-bottom: 48px !important;
  padding-bottom: 48px !important;
  border-bottom: 1px dashed rgba(14, 18, 23, 0.15);
}

:is(.editor-styles-wrapper, .block-editor-writing-flow, .block-editor-block-list__layout, body.block-editor-page, .edit-site-visual-editor) .flagship-grid.refinelab-repeater-item-wrapper:last-child,
:is(.editor-styles-wrapper, .block-editor-writing-flow, .block-editor-block-list__layout, body.block-editor-page, .edit-site-visual-editor) .refinelab-repeater-item-wrapper:last-child .flagship-grid {
  border-bottom: none;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

:is(.editor-styles-wrapper, .block-editor-writing-flow, .block-editor-block-list__layout, body.block-editor-page, .edit-site-visual-editor) .flagship-dots-row {
  display: none !important;
}

:is(.editor-styles-wrapper, .block-editor-writing-flow, .block-editor-block-list__layout, body.block-editor-page, .edit-site-visual-editor) .flagship-photo {
  position: relative !important;
}

:is(.editor-styles-wrapper, .block-editor-writing-flow, .block-editor-block-list__layout, body.block-editor-page, .edit-site-visual-editor) .flagship-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* --- WordPress Admin Bar Compatibility: Offset fixed header, dropdowns, and mobile panels --- */
:is(body.admin-bar, body:has(#wpadminbar)) header.blanz-header {
  top: var(--wp-admin--admin-bar--height, 32px) !important;
}

:is(body.admin-bar, body:has(#wpadminbar)) .nav-dropdown,
:is(body.admin-bar, body:has(#wpadminbar)) .nav-mobile-panel {
  top: calc(var(--header-h, 74px) + var(--wp-admin--admin-bar--height, 32px)) !important;
}

@media screen and (max-width: 782px) {
  :is(body.admin-bar, body:has(#wpadminbar)) header.blanz-header {
    top: var(--wp-admin--admin-bar--height, 46px) !important;
  }

  :is(body.admin-bar, body:has(#wpadminbar)) .nav-dropdown,
  :is(body.admin-bar, body:has(#wpadminbar)) .nav-mobile-panel {
    top: calc(var(--header-h, 74px) + var(--wp-admin--admin-bar--height, 46px)) !important;
  }
}

@media screen and (max-width: 600px) {
  #wpadminbar {
    position: fixed !important;
  }
}




